国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

詳解Android自定義控件屬性

2020-04-11 10:48:30
字體:
來源:轉載
供稿:網友

在Android開發中,往往要用到自定義的控件來實現我們的需求或效果。在使用自定義
控件時,難免要用到自定義屬性,那怎么使用自定義屬性呢?

在文件res/values/下新建attrs.xml屬性文件,中定義我們所需要的屬性。

<?xml version="1.0" encoding="utf-8"?><resources><!-- resource是跟標簽,可以在里面定義若干個declare-styleable -->  <declare-styleable name="custom_view"><!-- name定義了變量的名稱 -->    <attr name="custom_color" format="color"></attr> <!-- 定義對應的屬性,name定義了屬性的名稱 -->    <attr name="custom_size" format="dimension"></attr> <!--每一個發生要定義format指定其類型,類型包括      reference  表示引用,參考某一資源ID     string  表示字符串     color  表示顏色值     dimension  表示尺寸值     boolean  表示布爾值     integer  表示整型值     float  表示浮點值     fraction  表示百分數     enum  表示枚舉值     flag  表示位運算    --> </declare-styleable>

public class CustomTextView extends TextView {  private int textSize;//自定義文件大小  private int textColor;//自定義文字顏色  //自定義屬性,會調用帶兩個對數的構造方法  public CustomTextView(Context context, AttributeSet attrs) {    super(context, attrs);    TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.custom_view);//TypedArray屬性對象    textSize = ta.getDimensionPixelSize(R.styleable.custom_view_custom_size, 20);//獲取屬性對象中對應的屬性值     textColor = ta.getColor(R.styleable.custom_view_custom_color, 0x0000ff);    setColorAndSize(textColor, textSize);//設置屬性    ta.recycle();  }  public CustomTextView(Context context) {    super(context);  }  private void setColorAndSize(int textColor, int textSize) {    setTextColor(textColor);    setTextSize(textSize);  }}

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  xmlns:ldm="http://schemas.android.com/apk/res/com.ldm.learn"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:background="#f6f6f6"  android:orientation="vertical"  android:padding="10dp" >  <com.ldm.learn.CustomTextView    android:layout_width="100dp"    android:layout_height="100dp"    android:text="自定義TextView"    ldm:custom_color="#333333"    ldm:custom_size="35sp" /></LinearLayout>

布局說明:


通過以上幾步就可以實現我們想要的自定義屬性效果(用自定義屬性設置文字大小及顏色)啦!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苏尼特右旗| 新安县| 旬阳县| 集安市| 腾冲县| 阿鲁科尔沁旗| 峨眉山市| 岗巴县| 盱眙县| 罗城| 英吉沙县| 内乡县| 灵川县| 沅江市| 三穗县| 湘潭县| 都匀市| 瓦房店市| 邯郸县| 林甸县| 绥德县| 中牟县| 平泉县| 讷河市| 兴仁县| 潼关县| 安平县| 淳安县| 高淳县| 长兴县| 藁城市| 隆德县| 邳州市| 安图县| 太谷县| 宜宾市| 迁安市| 乌什县| 武强县| 临潭县| 西贡区|