asp*_*ame 28 xml android textview
我有一个listView,其中包含由下面的xml-layout定义的自定义对象.我希望带有id"info"的textView在一行上进行椭圆化,我尝试使用这些属性
android:singleLine="true"
android:ellipsize="end"
Run Code Online (Sandbox Code Playgroud)
没有成功.
如果我将layout_width设置为固定宽度,例如
android:layout_width="100px"
Run Code Online (Sandbox Code Playgroud)
文本被截断了.但出于便携性原因,这不是一个可接受的解决方案.
你能发现问题吗?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="5px"
>
<TextView
android:id="@+id/destination"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="22dp"
android:paddingLeft="5px"
/>
<TextView
android:id="@+id/date"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="15dp"
android:paddingLeft="5px"
/>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/info_table"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5px"
android:paddingTop="10px"
>
<TableRow>
<TextView
android:id="@+id/driver_label"
android:gravity="right"
android:paddingRight="5px"
android:text="@string/driver_label" />
<TextView
android:id="@+id/driver" />
</TableRow>
<TableRow>
<TextView
android:id="@+id/passenger_label"
android:gravity="right"
android:paddingRight="5px"
android:text="@string/passenger_label" />
<TextView
android:id="@+id/passengers" />
</TableRow>
<TableRow>
<TextView
android:id="@+id/info_label"
android:gravity="right"
android:paddingRight="5px"
android:text="@string/info_label"/>
<TextView
android:id="@+id/info"
android:layout_width="fill_parent"
android:singleLine="true"
android:ellipsize="end" />
</TableRow>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)
tbr*_*lle 40
如果不使用已弃用的属性,以下行对我来说非常有用
android:ellipsize="end"
android:lines="1"
android:scrollHorizontally="true"
Run Code Online (Sandbox Code Playgroud)
参考http://code.google.com/p/android/issues/detail?id=882#c9
Jer*_*gan 24
Ellipsize已被破坏(对错误报告进行投票,特别是因为他们声称它不可复制)所以你必须使用一个小的黑客.使用:
android:inputType="text"
android:maxLines="1"
Run Code Online (Sandbox Code Playgroud)
在任何你想要椭圆形的东西上.此外,不要使用singleLine
,它已被弃用.
更新:
仔细观察,你遇到的问题是你的桌子正在屏幕的右侧延伸.将您的TableLayout
定义更改为:
<TableLayout
android:id="@+id/info_table"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5px"
android:paddingTop="10px"
android:shrinkColumns="1">
Run Code Online (Sandbox Code Playgroud)
应该解决这个问题,然后按照我上面所说的去做TextView
.
我和史蒂夫有同样的结果:
android:ellipsize ="marquee"android:scrollHorizontally ="true"android:lines ="1"
工作得很好
归档时间: |
|
查看次数: |
34811 次 |
最近记录: |