开发中经常需要实现图标配文字的菜单项,如图
一般的实现思路是每一个菜单项由一个LinearLayout
包裹一个ImageView
和一个TextView
实现。但是这样做会增加布局的嵌套层数,另一个实现思路是通过TextView
的drawableLeft
属性来实现此效果,通过代码设置边距和图片大小。
代码如下:
` TextView tvScanCode = (TextView) headerView.findViewById(R.id.tv_scan_code);
Drawable drawableScan = ContextCompat.getDrawable(this, R.drawable.ic_nav_scan);
drawableScan.setBounds(0, 0, 40, 40);
tvScanCode.setCompoundDrawables(drawableScan, null, null, null);
TextView tvFeedback = (TextView) headerView.findViewById(R.id.tv_feed_back);
Drawable drawableFeed = ContextCompat.getDrawable(this, R.drawable.ic_nav_deedback);
drawableFeed.setBounds(0, 0, 40, 40);
tvFeedback.setCompoundDrawables(drawableFeed, null, null, null);
TextView tvAbout = (TextView) headerView.findViewById(R.id.tv_about);
Drawable drawableAbout = ContextCompat.getDrawable(this, R.drawable.ic_nav_about);
drawableAbout.setBounds(0, 0, 40, 40);
tvAbout.setCompoundDrawables(drawableAbout, null, null, null);`
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。