我正在尝试为LinearLayout中的2个元素实现以下布局:
总结一下: - 应允许第二个元素尽可能多地填充 - 如果有必要,应缩短第一个元素(textview以" ..."结尾)。 - 在较大的设备上,两个元素应该是可见的(如果可能的话),并且左对齐。
到目前为止,这是我的解决方案:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/filter_topbar_height"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/filter_container"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_weight="0">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:lines="1"
android:clickable="false"
android:text="@string/filter_uppercase_colon" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:lines="1"
android:ellipsize="end"
android:id="@+id/category_spinner"/>
</LinearLayout>
<LinearLayout
android:id="@+id/sorting_container"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:lines="1"
android:text="@string/sorting_uppercase_colon" />
<Spinner
android:id="@+id/sort_spinner"
style="@style/spinner"
android:lines="1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:spinnerMode="dialog"
tools:entries="@array/sorting_options"/>
</LinearLayout>
</LinearLayout>
我目前的解决方案的结果与我想要的相反。这里第一个元素占据了它需要的宽度,而第二个元素被推向右边。
非常感谢任何帮助。
答案 0 :(得分:0)
你应该使用textview的ellipsize属性,如
android:scrollHorizontally="true"
android:ellipsize="end"
android:maxLines="1"
答案 1 :(得分:0)
将第一个LinearLayout
更改为
android:id="@+id/filter_container"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_weight="1"
和第二个LinearLayout
为
android:id="@+id/sorting_container"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0"
android:orientation="horizontal"
答案 2 :(得分:0)
在文字视图中添加这两个属性
android:maxLines="1"
android:ellipsize="end"