很容易将一个TextView放在另一个TextView的右边,但是当基本TextView上的宽度超过屏幕尺寸时,TextView变得不可见。
我的XML布局:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/messages"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="1"
android:text="Messages" />
<TextView
android:id="@+id/counter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@drawable/bg_white_r30p0pl10"
android:drawableRight="@drawable/arrow_orange"
android:text="800" />
</LinearLayout>
即使基本TextView宽度很大,如何制作正确的TextView屏幕?
UPD:
换句话说,我需要:
如果第一个TextView很短:
|[ShotrTextView][TextView] |
如果第一个TextView很长:
|[LooooooongTextVi...][TextView]|
答案 0 :(得分:4)
解决方案是使用shrinkColumns = 0
的TableLayout用法<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:shrinkColumns="0" >
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/messages"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="1"
android:text="Messages" />
<TextView
android:id="@+id/counter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@drawable/bg_white_r30p0pl10"
android:drawableRight="@drawable/arrow_orange"
android:text="800" />
</TableRow>
</TableLayout>
答案 1 :(得分:1)
试试这个
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:inputType="text"
android:text="" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="0"
android:inputType="text"
android:text="12345" />
</LinearLayout>
答案 2 :(得分:1)
将此作为思考线路发布的唯一方法......
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:singleLine="true"
android:layout_height="wrap_content"
android:text="Medium TextMedium TextMedium TextMedium Text"
android:maxWidth="280dp"
android:ellipsize="end"
/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="HHH"
/>
创建一个dimension file like this并使用它。
答案 3 :(得分:0)
检查答案:Two TextViews side by side, only one to ellipsize?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView android:id="@+id/messages" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"
android:ellipsize="end" android:lines="1" android:text="Message" />
<TextView android:id="@+id/counter" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp"
android:layout_weight="1" android:background="@drawable/bg_white_r30p0pl10" android:drawableRight="@drawable/arrow_orange" android:text="800" />
</LinearLayout>