for (int i = 0; i < tel.size(); i++) {
LayoutInflater inflater = getLayoutInflater();
View vi = inflater.inflate(R.layout.telefones, null);
TextView tv = (TextView) vi.findViewById(R.id.telefone);
tv.setText(tel.get(i).getNumero());
l1.addView(vi);
View divider = new View(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 1);
divider.setLayoutParams(lp);
if((i+1)<tel.size()){
divider.setBackgroundColor(0x66728c93);
}else{
divider.setVisibility(View.GONE);
}
l1.addView(divider);
}
上面的代码给出了以下结果:
现在,我要做的是添加一个与电话号码右侧对齐的消息图标,如下所示:
如何以编程方式将该图标放入我的布局?
答案 0 :(得分:2)
使用android:drawableRight || top || left || bottom
非常简单。
示例:
<TextView
android:id="@+id/text_adr"
android:drawableRight="@drawable/action_place"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:layout_marginBottom="@dimen/margin_image"/>
请参阅TextView文档,了解更多信息
here您可以自由下载图片图标。
答案 1 :(得分:1)
您必须使用嵌套布局。也许是一个水平对齐的LinearLayout,它承载TextView(width = 0dp和weight = 1)和图标(width = wrap_content)。
答案 2 :(得分:1)
方法
TextView.setCompoundDrawablesWithIntrinsicBounds (int left, int top, int right, int bottom)
是您需要以编程方式添加图标的方法。 文档HERE