当文本内容超过TextView的所设置的长度时,文本内容只会显示出一部分。
要想在节目上查看所有文本内容,实现文本内容水平滚动效果,可以在TextView中添加以下两个属性:
android:ellipsize="marquee"
android:scrollHorizontally="true"
详细代码例子如下:
setting_item2是listview的item布局文件,其中id为setting_menu_item_txt2的TextView加载显示的内容可能会超出文本框的长度,导致文本显示不全。所以给它添加上如上的两个属性,就可以解决问题啦。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setting_listItem_lay"
android:layout_width="match_parent"
android:layout_height="67dp"
android:gravity="center_vertical"
android:orientation="horizontal"
>
<LinearLayout
android:layout_width="600dp"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/setting_menu_item_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:paddingLeft="60dp"
android:textSize="22sp"
android:textColor="@android:color/white" />
<TextView
android:id="@+id/setting_menu_item_txt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:paddingLeft="60dp"
android:textSize="16sp"
android:textColor="@android:color/darker_gray"
android:ellipsize="marquee"
android:scrollHorizontally="true"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/left_arrow_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
/>
<TextView
android:id="@+id/setting_menu_item_val"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:textColor="@color/white"
android:gravity="center"
android:textSize="22sp" >
</TextView>
<ImageView
android:id="@+id/right_arrow_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
/>
</LinearLayout>
</LinearLayout>