2 myc 100 myc_100 于 2013.03.25 17:24 提问

在 Linearlayout 中如何在图像布局的右边,动态的把文本布局对齐?
LinearLayout ll = (LinearLayout)findViewById(R.id.linearLayout3);
TextView tv = new TextView(this);
ImageButton imb=new ImageButton(this);

ll.addView(tv);
tv.setSingleLine();

tv.setEllipsize(TruncateAt.MARQUEE);
tv.setHorizontallyScrolling(true);
tv.setFocusableInTouchMode(true);

tv.setText(myString1);

上面的代码,现在可以在 textView 中显示数据。但是我想把一个 imageButton 放置到
textView 的左边,但是如何以代码的形式实现呢?

1个回答

hxn_217
hxn_217   2013.03.26 09:47
已采纳

解决你的问题有两种方法。如果你想在 textview 的右边显示图像,使用下面的代码:

TextView textView = (TextView) findViewById(R.id.myTxtView);
textView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon,0, 0,0);

或者,把 linearlayout设置成横向的,首先添加 imageview,然后再添加 textview。就用按照你需要的对齐:

 TextView tv = new TextView(this);
tv.setLayoutParams(new ViewGroup.LayoutParams(
        ViewGroup.LayoutParams.WRAP_CONTENT,
        ViewGroup.LayoutParams.WRAP_CONTENT));
   ImageButton imb=new ImageButton(this);
imb.setLayoutParams(new ViewGroup.LayoutParams(
        ViewGroup.LayoutParams.WRAP_CONTENT,
        ViewGroup.LayoutParams.WRAP_CONTENT));

   ll.addView(imb);
   ll.addView(tv);
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!