Fil*_*nik 0 android android-layout
我有三个这样的元素:
ELEMENT1 - ELEMENT3
第二个元素是" - "
默认使用ellipse Android将截断ELEMENT3,但我想截断ELEMENT1.有没有办法实现这一目标?
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="left">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:text="CIAO CIAO CIAO CIAO CIAO CIAO CIAO CIAO"
android:textColor="@color/text_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text=" - "
android:textColor="@color/text_content" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="CIAO CIAO CIAO CIAO CIAO CIAO"
android:ellipsize="none"
android:textColor="@color/important_content"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
编辑:第二个元素和第三个元素必须对齐左边!
您可以使用布局权重属性来控制LinearLayout中每个元素的"重要性".有关更多信息,请参见此处:线性布局重量
我已经在下面采用了你的xml布局并对其进行了一些编辑,以产生我认为你正在寻找的结果.请注意,TextView1的布局权重为1,而TextView2和TextView3的布局权重为0.这样做是强制LinearLayout首先为TextView2和TextView3分配空间,然后将剩余的空间分配给TextView1.因此,TextView1是首先进行椭圆化的元素.
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/TextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:scrollHorizontally="true"
android:layout_weight="1"
android:text="element1element1element1" />
<TextView
android:id="@+id/TextView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:scrollHorizontally="true"
android:layout_weight="0"
android:text=" - " />
<TextView
android:id="@+id/TextView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="none"
android:maxLines="1"
android:scrollHorizontally="true"
android:layout_weight="0"
android:text="element3element3element3" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
345 次 |
| 最近记录: |