点击fragment内gridview条目跳一界面
一listview,加一FloatActionButton用来发送短信
public class ChooseMsgActivity extends AppCompatActivity { private ListView mLvMsgs; private FloatingActionButton mFabToSend; private ArrayAdapter<Msg> mAdapter; private int mFestivalId; private LayoutInflater mInflater; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_choose_msg); mFestivalId = getIntent().getIntExtra(FestivalCategoryFragment.ID_FESTIVAL, -1); mInflater = LayoutInflater.from(this); setTitle(FestivalLab.getInstance().getFestivalById(mFestivalId).getName()); initView(); initEvent(); } private void initEvent() { mFabToSend.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); } private void initView() { mLvMsgs = (ListView) findViewById(R.id.lv_listView); mFabToSend = (FloatingActionButton) findViewById(R.id.but_float); mLvMsgs.setAdapter(mAdapter = new ArrayAdapter<Msg>(this, -1, FestivalLab.getInstance().getMsgsByFestivalId(mFestivalId)) { @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = mInflater.inflate(R.layout.item_msg, parent, false); } TextView tv_content = (TextView) convertView.findViewById(R.id.tv_content); Button btn_send = (Button) convertView.findViewById(R.id.btn_send); tv_content.setText(" " + getItem(position).getContent()); btn_send.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); return convertView; } } ); } }布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ListView android:id="@+id/lv_listView" android:layout_width="match_parent" android:layout_height="match_parent"></ListView> <android.support.design.widget.FloatingActionButton android:id="@+id/but_float" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:src="@mipmap/icon_to_send" android:layout_marginBottom="@dimen/fab_margin" app:borderWidth="0dp" app:backgroundTint="@color/main_color" /> <!--app:borderWidth="0dp" 解决在5.0以上没有阴影 android:layout_marginBottom="@dimen/fab_margin" 在5.0以上默认紧贴--> </RelativeLayout>加一values-v21
<resources> <dimen name="fab_margin">0dp</dimen> </resources>
values下为16dp
item_msg布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/tv_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="8dp" /> <Button android:id="@+id/btn_send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:drawableLeft="@mipmap/icon_to_send" android:minHeight="0dp" android:minWidth="0dp" android:text="发送" /> <!-- android:minHeight="0dp" android:minWidth="0dp" button 默认有padding的样子比较宽比较高 减少下这个感觉--> </LinearLayout>