我正在尝试像这样进行行布局:
Text1 Text3
IMG
Text2 Text4
这是我的 xml 代码。它正确显示 Text1 Text2 Text3 Text4,但我不知道如何在左侧插入图像。我开始认为使用relativelayout是个坏主意。 :(
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@android:id/text1"
android:src="@drawable/ic_launcher" />
<RelativeLayout
android:id="@+id/linearLayout112"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:clickable="false"
android:paddingBottom="1pt"
android:paddingLeft="6dip"
android:paddingTop="5pt"
android:textStyle="bold"
android:textSize="9pt"/>
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:clickable="false"
android:paddingBottom="1pt"
android:paddingRight="11dip"
android:paddingTop="6pt"
android:textColor="#a0a0a0"
android:textSize="7pt" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/linearLayout112"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:clickable="false"
android:paddingBottom="5pt"
android:paddingLeft="6dip"
android:paddingTop="1pt"
android:textColor="#FFFFFF"
android:textSize="8pt" />
<TextView
android:id="@+id/text4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:layout_alignParentRight="true"
android:paddingBottom="1pt"
android:paddingRight="11dip"
android:paddingTop="2pt"
android:textColor="#a0a0a0"
android:textSize="7pt" />
</RelativeLayout>
</LinearLayout>
最佳答案
由于最外层布局是 LinearLayout,因此三个子对象(ImageView 和两个relativelayout)将简单地垂直堆叠在其中。 ImageView 的layout_toRightOf 属性在LinearLayout 上下文中无效,将被忽略。
看起来你本质上是想写三列?在这种情况下,使 LinearLayout 方向水平,然后有三个子级(三列),第一个是图像,另外两个可以是相对布局,每个子级有两个子级,这些子级是顶部和底部的文本专栏。
但是,最终,我怀疑仅使用relativelayout作为最外层,然后将imageview和四个textview作为直接子项就可以成功。这些都可以使用layout_alignParentLeft、layout_centerVertical等相对于父元素(RelativeLayout)放置。为了进行微调,请将填充和边距应用于子元素(甚至适当的父元素)。
关于java - Android 2.1 中的 XML 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8749571/