我正在尝试将1个textview(upText)左对齐和1 textview(downText)和一个图像视图(图像)布局在同一行并右对齐。
我该怎么做?我试过了,但左边的“textview”和图片视图都对齐了。
<TextView
android:id="@+id/uptext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left"/>
<TextView
android:id="@+id/downtext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:gravity="right|bottom"/>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right|bottom"/>
</LinearLayout>
答案 0 :(得分:23)
请勿使用LinearLayout
。使用RelativeLayout
,
TextView
设置为android:layout_alignParentLeft="true"
TextView
设置为android:layout_alignParentBottom="true"
和android:layout_alignParentRight="true"
ImageView
的内容,目前看起来会与第二个TextView
答案 1 :(得分:0)
我意识到这篇文章有点陈旧,但万一有人为了清晰起见而遇到这个问题;
父线性布局是需要为孩子指定重力以使其与所需行为一致的地方,这就是为什么上述帖子解释为线性布局不可能发生两个单独的行为,因为一个孩子不能决定在线性布局中对齐的位置。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="200dp"
android:layout_height="50dp"
android:gravity="bottom|right">
<TextView
android:layout_width="40dp"
android:layout_height="20dp"
android:text="test"/></LinearLayout>
还应该说父线性布局必须具有已定义的大小而不是包含内容,否则这将无法工作,因为换行内容意味着布局中没有额外的空间用于定位,所以至少'对于宽度和高度,match-parent'是必要的,并且父元素的大小大于子线性布局本身的wrap-content。
希望这有帮助。
答案 2 :(得分:0)
使用RelativeLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom">
<TextView
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="hi"
android:textStyle="bold|italic"
android:gravity="right"/>
<TextView
android:id="@+id/text2"
android:layout_below="@id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="All"
android:gravity="right"/>
</RelativeLayout>