如何在Android中动态地将文本视图对齐到Linearlayout中的图像视图的右侧

时间:2012-12-26 10:16:59

标签: android

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,以便将其用作取消条。但我遇到了问题。如何以编程方式在文本视图左侧设置imageButton

1 个答案:

答案 0 :(得分:0)

您的问题有两个解决方案。如果您只想在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);