網上查的全都不能用。仍是本身試驗出來的。。。android
測試機版本:4.0.3ide
網上有文章說要加 addStatesFromChildren測試
實測:加不加都能正常滾動spa
android:focusable="true"code
實測:必須在xml裏添加。在程序中使用tv.setFocusable(true);不能滾動xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:addStatesFromChildren="true" android:orientation="vertical" > <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:marqueeRepeatLimit="marquee_forever" android:scrollHorizontally="true" android:singleLine="true" android:text="11adshfkalhafklajfhkadjfhakjfhdjkfhadfjkhasdfhasdfjkhashkadjfhakjfhdjkfhadfjkhasdfhasdfjkhashkadjfhakjfhdjkfhadfjkhasdfhasdfjkhashkadjfhakjfhdjkfhadfjkhasdfhasdfjkhashkadjfhakjfhdjkfhadfjkhasdfhasdfjkhasdjkfhsdakfhasdjkfhasdkfhsajkdfhsdfhsadfkjhsaf" /> <Button android:id="@+id/xinle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="sad" /> </LinearLayout>
點擊button能夠切換模式blog
findViewById(R.id.xinle).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { flag = !flag; if (flag) { textView.setEllipsize(TextUtils.TruncateAt.valueOf("END")); return; } textView.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE")); } });
關於ellipsize這個參數的用法ip
在xml中hash
android:ellipsize = "end" 省略號在結尾it
android:ellipsize = "start" 省略號在開頭
android:ellipsize = "middle" 省略號在中間
android:ellipsize = "marquee" 跑馬燈
最好加一個約束android:singleline = "true"
固然也能夠用代碼語句
tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));
最好再加一個約束tv.setSingleLine(true);