自定義滾動文字
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.button.MainActivity"
tools:ignore="MergeRootFrame" >
<!--
singleLine:表示在一行裡顯示
ellipsize表示:如果超出顯示範圍
start:開頭省略
middle:中間省略
end:末尾省略
marquee:在獲取焦點的時候滾動顯示,需要配合 android:focusableInTouchMode="true" 使用
表示在觸控的時候獲取焦點
-->
<Button
android:layout_width="100dp"
android:layout_height="50dp"
android:ellipsize="start"
android:singleLine="true"
android:text="按鈕111111" />
<Button
android:layout_width="100dp"
android:layout_height="50dp"
android:ellipsize="middle"
android:singleLine="true"
android:text="按鈕2222222" />
<Button
android:layout_width="100dp"
android:layout_height="50dp"
android:ellipsize="end"
android:singleLine="true"
android:text="按鈕33333333" />
<Button
android:layout_width="100dp"
android:layout_height="50dp"
android:ellipsize="marquee"
android:focusableInTouchMode="true"
android:singleLine="true"
android:text="按鈕44444444" />
</LinearLayout>
效果如下:
但是如果是TextView元件給它設定ellipsize:marquee和android:focusableInTouchMode="true"屬性,並不能讓它滾動起來。因為TextView是獲取不到焦點的。我們可以繼承TextView覆寫它的isFocused方法,讓它返回ture即可。
import android.content.Context;
import android.util.AttributeSet;
import android.view.ViewDebug.ExportedProperty;
import android.widget.TextView;
public class MyTextView extends TextView {
/*
* 覆蓋父類的三個建構函式
*/
public MyTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyTextView(Context context) {
super(context);
}
/**
* 覆寫isFocused函式,讓它返回true即可
*/
@Override
@ExportedProperty(category = "focus")
public boolean isFocused() {
return true;
}
}
在使用TextView的時候用自定義的MyTextView包名.類名代替,這樣文字就能滾動了<com.example.button.MyTextView
android:focusableInTouchMode="true"
android:ellipsize="marquee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈"/>
相關文章
- 【Flutter實戰】自定義滾動條Flutter
- JavaScript自定義滾動條詳解JavaScript
- 前端頁面自定義滾動條前端
- Vue.js 桌面端自定義滾動條元件|vue美化滾動條VScrollVue.js元件
- 文字向上滾動
- Vue的自定義滾動,我用el-scrollbarVue
- vue2.x自定義虛擬滾動條|vue美化滾動條元件VscrollVue元件
- 三叉戟之橫向自定義滾動
- 直播軟體原始碼,自定義RecyclerView支援快速滾動原始碼View
- vue文字滾動元件Vue元件
- scroll-view元件bindscroll例項應用:自定義滾動條View元件
- 短視訊平臺搭建,自定義滾動條的樣式
- 專案需求討論-自定義滾輪
- 手持彈幕(全屏文字滾動)
- 前端實現文字滾動效果前端
- 基於 RecyclerView 實現的歌詞滾動自定義控制元件View控制元件
- ezdxf寫CAD文字用自定義字型自定義字型
- Android中自定義Toast文字大小AndroidAST
- 使用 selenium (python),無法在頁面的 iframe 框架中實現對貌似是自定義滾動條進行滾動Python框架
- 織夢多行文字自定義欄位 支援自動換行
- Android自定義View之定點寫文字AndroidView
- html頁面自定義文字水印效果案例HTML
- 小程式自定義音訊元件,帶滾動條,IOS迴圈失效問題音訊元件iOS
- vue 自定義指令實現,滾動條百分比進度條。Vue
- 直播軟體原始碼,橫向滾動 自定義底部指示器樣式原始碼
- 基於svelte3自定義虛擬滾動條元件svelte3-scrollbar元件
- C#自定義控制元件—文字顯示、文字設值C#控制元件
- 自定義視訊播放器與慢放滾輪播放器
- Vue富文字帶圖片修改圖片大小自定義選擇項自定義字型Vue自定義字型
- 【Android自定義View】繪圖之文字篇(三)AndroidView繪圖
- allure報告自定義logo圖片和文字Go
- 文字滾動(螢幕重新整理頻率)
- 微信小程式之文字向上滾動效果微信小程式
- quill 富文字編輯器自定義格式化UI
- 【自定義View】抖音網紅文字時鐘-上篇View
- Android自定義View之Paint繪製文字和線AndroidViewAI
- ElementUI 中 table 表格自定義表頭 Tooltip 文字提示UI
- Android自定義控制元件 帶文字提示的SeekBarAndroid控制元件
- 自定義springboot啟動器Spring Boot