視訊直播系統原始碼,使用自定義UI 完成文字顏色載入效果
視訊直播系統原始碼,使用自定義UI 完成文字顏色載入效果
1、自定義文字屬性
在專案attrs.xml 檔案中 res -> values -> attrs.xml,自定義文字屬性,沒有這個檔案,就新建一個。
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="ColorTrackTextView"> <attr name="originColor" format="color" /> <attr name="changeColor" format="color" /> </declare-styleable> </resources>
2、建立元件
新建一個 ColorTrackTextView 檔案,繼承自 AppCompatTextView 這裡也可以直接繼承View,我只需要自定義TextView ,就直接繼承 AppCompatTextView
public class ColorTrackTextView extends AppCompatTextView { // 繪製不變色字型的畫筆 private Paint mOriginPaint; // 繪製變色字型的畫筆 private Paint mChangePaint; public ColorTrackTextView(@NonNull Context context) { this(context, null); } public ColorTrackTextView(@NonNull Context context, @Nullable AttributeSet attrs) { this(context, attrs, 0); } public ColorTrackTextView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } }
3、在 xml 中使用元件
<com.traveleasy.leaningui.ColorTrackTextView android:id="@+id/color_track_tv" android:text="Hello Word" android:textSize="20sp" app:changeColor="@color/teal_200" android:layout_width="match_parent" android:layout_height="wrap_content" tools:ignore="MissingConstraints" />
上面的三步中,已經完成了自定義TextView 的屬性設定,以及在 xml 中使用,接下來開始做測量繪製的效果
4、測量
這裡我直接繼承的是 AppCompatTextView, 所以就直接跳過了測量部分。當然,如果繼承的是View,也只需要測量自己就可以了
5、繪製
接下來通過 onDraw:繪製,在此之前,我們需要先建立一個畫筆
/** * 根據顏色,設定畫筆 * * @return */ private Paint getPaintByColor(int color) { Paint paint = new Paint(); // 設定顏色 paint.setColor(color); // 設定抗鋸齒 paint.setAntiAlias(true); // 防抖動 paint.setDither(true); // 設定字型的大小 就是TextView 文字字型大小 paint.setTextSize(getTextSize()); return paint; }
畫筆中的顏色,我傳入即可
這裡我初始了兩個畫筆顏色,一個預設顏色,和一個需要變成的顏色
// 繪製不變色字型的畫筆 private Paint mOriginPaint; // 繪製變色字型的畫筆 private Paint mChangePaint;
需要先初始化一個 TypedArray,在使用 TypedArray 時候,別忘了回收哦
private void initPaint(Context context, AttributeSet attrs) { TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.ColorTrackTextView); int changeColor = typedArray.getColor(R.styleable.ColorTrackTextView_changeColor, getTextColors().getDefaultColor()); int originColor = typedArray.getColor(R.styleable.ColorTrackTextView_originColor, getTextColors().getDefaultColor()); // typedArray 回收 typedArray.recycle(); // 不變顏色的畫筆 mOriginPaint = getPaintByColor(originColor); // 變色的畫筆 mChangePaint = getPaintByColor(changeColor); }
以上就是視訊直播系統原始碼,使用自定義UI 完成文字顏色載入效果, 更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2896927/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 短視訊系統原始碼,實現按鈕開啟關閉,顏色可自定義原始碼
- 線上直播系統原始碼,android 中一段文字設定不同顏色原始碼Android
- 直播app系統原始碼,對視訊新增擦拭去除效果APP原始碼
- 成品直播原始碼推薦,實現文字載入效果 文字跳動原始碼
- 線上直播原始碼,自定義氣泡效果(BubbleView)原始碼View
- 直播系統app原始碼,TabLayout:自定義字型大小APP原始碼TabLayout自定義字型
- 短視訊直播原始碼,自定義圖片或視訊的迴圈播放原始碼
- 語音直播系統原始碼與視訊直播系統原始碼哪些區別原始碼
- 直播小程式原始碼,react-native自定義文字輸入框原始碼React
- 短視訊直播系統,Android狀態列設定顏色字型Android
- 短視訊直播系統,簡單實現個人主頁背景圖片和文字顏色的更改
- 直播系統原始碼,修改ToolBar的標題的字型顏色大小原始碼
- 視訊直播app原始碼,按鈕被按下時顏色隨著改變APP原始碼
- js設定輸入的文字不同顏色效果JS
- 自定義chrome的輸入框背景顏色Chrome
- 影片直播系統原始碼,自定義背景和狀態管理原始碼
- 線上直播系統原始碼,自定義底部 BottomNavigationBar原始碼Navigation
- windows10系統怎麼自定義主題顏色Windows
- 直播短視訊原始碼短視訊APP短視訊帶貨系統多商戶直播原始碼APP
- 直播系統程式碼,Android自定義View實現呼吸燈效果AndroidView
- 短視訊直播原始碼,EditText輸入框的使用原始碼
- Python自定義詞雲圖形狀和文字顏色Python
- app直播原始碼,TextView部分字型顏色高亮APP原始碼TextView
- 短視訊系統,android Switch修改顏色修改樣式滑塊顏色Android
- 線上直播原始碼,CSS磨砂玻璃效果和漸變主題色文字原始碼CSS
- 直播帶貨系統原始碼利用TextView設定部分字型的顏色和大小原始碼TextView
- 直播小程式原始碼,Swift 獲取漸變色顏色值原始碼Swift
- javascript文字彩虹式顏色漸變效果程式碼例項JavaScript
- 直播平臺原始碼,Android自定義View實現呼吸燈效果原始碼AndroidView
- 直播原始碼網站,自定義平臺介面,完成各項內容更改原始碼網站
- 短視訊平臺原始碼,選擇顏色flutter_colorpicker原始碼Flutter
- 直播系統原始碼,簡易的自定義確認彈框AlertDialog原始碼
- 直播系統app原始碼,自定義可以暫停的倒數計時APP原始碼
- 直播系統原始碼,ViewPager載入大圖 左右滑動原始碼Viewpager
- 直播原始碼網站,任意更改底部圖示顏色原始碼網站
- 線上直播原始碼,單獨修改狀態列顏色原始碼
- 直播軟體原始碼,改變button的背景顏色原始碼
- echart使用自定義單個柱狀顏色實現