j.c*_*j.c 5 android relativelayout android-layout
我正在使用RelativeLayout设计一个简单的布局,我想避免嵌套的LinearLayouts或其他嵌套的视图组.
有9个视图,它们都显示如下:
我不知道如何正确对齐搜索栏以避免文本重叠或包裹线.
从右边对齐:rgb图像宽度是固定的,搜索栏宽度(全部相同)取决于标签宽度,我希望它依赖于最大的一个.
如何知道用什么标签android:layout_toRightOf
或什么?
上面的图像还显示了我想避免的两种行为: -
对齐是指第一个标签(@ id/text1) -
第二行:android:layout_alignRight
缺少使文本重叠更长.
第3行:android:layout_alignRight
存在但文本包装较长.
这就是我想要的:
我应该测量TextViews宽度以找到最大的宽度(当然是以编程方式...)?
有没有想过XML解决方案?
这是代码:
<RelativeLayout
android:id="@+id/addon"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/semi_transparent_background_controls"
android:visibility="visible" >
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/seek1"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Normal text"/>
<SeekBar
android:id="@+id/seek1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/img1"
android:layout_toRightOf="@id/text1"/>
<ImageView
android:id="@id/img1"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/img1"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/seek2"
android:layout_alignParentLeft="true"
android:layout_below="@id/img1"
android:text="Longer text overlaps"/>
<SeekBar
android:id="@+id/seek2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/seek1"
android:layout_alignParentLeft="false"
android:layout_alignTop="@+id/img2"
android:layout_below="@id/seek1"
android:layout_toLeftOf="@id/img2"/>
<ImageView
android:id="@id/img2"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/img2"
android:layout_alignParentRight="true"
android:layout_below="@id/img1"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/seek3"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/text1"
android:layout_below="@id/img2"
android:text="or wraps to a new line"/>
<SeekBar
android:id="@+id/seek3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/seek1"
android:layout_alignParentLeft="false"
android:layout_alignTop="@+id/img3"
android:layout_below="@id/seek2"
android:layout_toLeftOf="@id/img3"/>
<ImageView
android:id="@id/img3"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/img3"
android:layout_alignParentRight="true"
android:layout_below="@id/img2"
/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)