伙计我尝试添加另一个textview但是当我尝试将新的textview放在之前的textview上时,如何让第二个textview作为新的第二个文本视图下载
这是我的代码,希望你能帮助我
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:gravity="center_vertical"
android:text="@string/state1"
android:textSize="16sp" />
<TextView
android:id="@+id/secondLine"
android:layout_width="fill_parent"
android:layout_height="26dip"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="@id/textView1"
android:ellipsize="marquee"
android:singleLine="true"
android:text="@string/sayer1"
android:textSize="12sp" />
<TextView
android:id="@+id/thirdLine"
android:layout_width="fill_parent"
android:layout_height="26dip"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="@id/textView2"
android:ellipsize="marquee"
android:singleLine="true"
android:text="@string/sayer2"
android:textSize="12sp" />
<TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:gravity="center_vertical"
android:text="@string/state2"
android:textSize="16sp" />
</RelativeLayout>
答案 0 :(得分:0)
简单地用LinearLayout包装那两个TextView并略微对齐一个位。
这将非常整洁,而不仅仅是在相对布局内定位。因为如果你想移动整个包装TextView将移动。所以你不必担心对齐每个TextView
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:baselineAligned="false"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/state1"
android:textSize="16sp" />
<TextView
android:id="@+id/secondLine"
android:layout_width="fill_parent"
android:layout_height="26dip"
android:layout_below="@id/textView1"
android:ellipsize="marquee"
android:singleLine="true"
android:text="@string/sayer1"
android:textSize="12sp" />
</LinearLayout>
答案 1 :(得分:0)
您应该只根据父对象调整一个TextView,而基于那个对齐。
或换句话说,如果您没有设置布局_ 参数,则应将其与父对齐,以便视图知道自己的位置。现在,其他视图可以对具有 alignParent 参数的视图使用 layout _ 参数。
如果你将所有这些对齐父对象,它们只会保持父母的记忆,而不是打扰其他TextViews。
我喜欢想象他们认为与父母对齐的是一种“锚”,而其他人则认为自己与之对抗。
请尝试以下操作(我删除了可读性的其他参数,不是因为您应该删除它们!)
<TextView
android:id="@+id/textView1"
android:layout_alignParentLeft="true" />
<TextView
android:id="@+id/secondLine"
android:layout_below="@id/textView1" />
//If You set it below, there's no reason to align it with the Parent
// you can now use margins instead
<TextView
android:id="@+id/thirdLine"
android:layout_below="@id/textView2" />
//Same scenario
<TextView
android:id="@+id/textView2"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" />
//In this case you DO need to align with parent because you are not setting a
//layout_ parameter
我希望这有助于指导您朝着正确的方向前进。另外,请注意,如果使用 alignParent 参数更改视图上的值,则具有布局_ 参数的其他视图也会更改位置。
答案 2 :(得分:0)
将您的xml文件更改为以下内容。它可能对你有帮助
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:orientation="vertical"
android:padding="6dip" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="@string/state1"
android:textSize="16sp" />
<TextView
android:id="@+id/secondLine"
android:layout_width="fill_parent"
android:layout_height="26dip"
android:ellipsize="marquee"
android:singleLine="true"
android:text="@string/sayer1"
android:textSize="12sp" />
<TextView
android:id="@+id/thirdLine"
android:layout_width="fill_parent"
android:layout_height="26dip"
android:ellipsize="marquee"
android:singleLine="true"
android:text="@string/sayer2"
android:textSize="12sp" />
<TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="@string/state2"
android:textSize="16sp" />
</LinearLayout>