Android 如何在LinearLayout中将Imageview和Textview设置在同一行上

Android 如何在LinearLayout中将Imageview和Textview设置在同一行上,android,android-linearlayout,Android,Android Linearlayout,我想在linelayout中的同一行设置Imageview和Textview,但是Imageview始终高于Textview 这是我的密码: String b[] = cacBuocThucHien.split("#"); for (int j = 0; j < b.length; j++) { LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CO

我想在linelayout中的同一行设置Imageview和Textview,但是Imageview始终高于Textview

这是我的密码:

String b[] = cacBuocThucHien.split("#");
for (int j = 0; j < b.length; j++) {
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    LinearLayout.LayoutParams lp2 = new LinearLayout.LayoutParams(30,30);
    lp.setMargins(50, 0, 0, 0);
    ImageView img = new ImageView(RecipesDetailActivity.this);
    TextView tv = new TextView(RecipesDetailActivity.this);
    img.setLayoutParams(lp2);
    img.setImageResource(R.mipmap.testic);
    tv.setLayoutParams(lp);
    tv.setText(b[j] + "\n");
    layoutHuongDan.addView(img);
    layoutHuongDan.addView(tv);
}
String b[]=cacBuocThucHien.split(“#”);
对于(int j=0;j
您可以使用此选项将图像放在一行中。。它将在各种布局中工作。希望这对你有帮助

  <LinerLayout>     
   <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
  <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
   ....... // Put how many TextViews you want

 <TextView
        android:id="@+id/textn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
 </LinerLayout>
然后使用for循环初始化它们,并像这样设置文本和图像

   TextView[] allTexts = new TextView[n];
   for (int i = 0; i < n; i++) {
        allTexts[i] = (TextView) findViewById(textRows[i]);
        allTexts[i].setText("your text");
        allTexts[i].setCompoundDrawables(left_image, null, null, null); 
    }
TextView[]alltext=newtextView[n];
对于(int i=0;i

它会起作用的。试试看

将文本视图设置为可绘制左侧,无需额外的图像视图

android:drawableLeft="@drawable/img"

如果您只想在“代码>文本视图< /代码>旁边显示一个图标,我认为您应该考虑使用<代码>文本视图< /代码>

tv.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon, 0, 0, 0);
但是,如果您坚持将两个视图并排使用,则在这种情况下使用将是有用的

lp.gravity= Gravity.CENTER_VERTICAL;

如果只想显示
文本视图
图像视图
。。在
TextView
自身中设置
CompounDrawable


但是,对于在
LinearLayout
中并排显示两个视图,请尝试以编程方式设置
orientation=horizontal
,检查。

您应该为视图添加重力-当我尝试第一种方法时,您可能正在寻找,布局将为空。当我尝试第二种方法时,图标将位于文本视图的顶部。感谢您的帮助,但我尝试了您的方法,但通过这种方式,imageview将消失,我无法添加multi-imageview和textview,也无法添加multi-imageview和textview。我想为每行添加一个文本,前面有一个图像,因此我必须创建带有“for”的文本和图像循环并使用线性布局。请查看我的编辑并进行检查。。我从你那里学到了一件新东西,谢谢你的帮助。但这并不是我想要的,我只想在textview的第一个字母前面有一个小图标。我该怎么做?这里。我想要这样的东西,但是按照你的指示,它会是这样的
lp.gravity= Gravity.CENTER_VERTICAL;