我正在尝试编写LinearLayout
作为显示两个ListView
的{{1}}的一部分。一个是银行帐户名称,另一个是余额。我希望帐户名称位于布局的左侧,余额位于右侧。
更具体地说,我希望余额对齐,左边的剩余空间将用于帐户名称,但我还没有弄清楚。我尝试使用布局权重,但它们不起作用。
以下是我的代码:
TextViews
但是会发生的是两个TextView都放在左侧,在右侧留下一堆空白区域。如何强制第二个TextView在右侧?
答案 0 :(得分:2)
我一发布这个问题就找到了答案。感谢所有研究过这个问题的人,但问题是LinearLayout宽度是换行内容,所以它会将两个TextView包装在一起。通过将其更改为:
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
我能够使用布局权重来实现我想要的设计。
我也略微改变了布局重量,这就是我所拥有的:
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="30sp"
android:id="@+id/accountNameTextView"
android:layout_weight="1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:textAppearanceSmall"
android:id="@+id/accountBalanceTextView"
android:gravity="center_vertical"/>
</LinearLayout>
答案 1 :(得分:0)
试试这段代码:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/accountBalanceTextView"
android:textSize="30sp"
android:id="@+id/accountNameTextView"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textAppearance="?android:textAppearanceSmall"
android:id="@+id/accountBalanceTextView"
/>
</RelativeLayout>
答案 2 :(得分:0)
我建议您改用RelativeLayout
。以下是有关如何在RelativeLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${packageName}.${activityClass}" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="TextView" />
<TextView
android:id="@+id/gcmtv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/hello_world" />
</RelativeLayout>
但如果您需要使用LinearLayout
执行此操作,则可以执行此类操作
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${packageName}.${activityClass}" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TextView" />
<TextView
android:id="@+id/gcmtv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</LinearLayout>
答案 3 :(得分:0)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:weightSum=2>
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="tv1" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/tv2" />
</LinearLayout>