亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

android自定義控件使用declare-styleable進行配置屬性

小云
106
2023-09-23 09:10:44
欄目: 編程語言

在Android中,可以使用declare-styleable來定義和配置自定義控件的屬性。下面是一個簡單的示例:

首先,在res/values文件夾下創建attrs.xml文件,用于定義自定義屬性:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="CustomView">
<attr name="customText" format="string" />
<attr name="customColor" format="color" />
<attr name="customSize" format="dimension" />
</declare-styleable>
</resources>

然后,在布局文件中使用自定義控件,并配置相關屬性:

<com.example.CustomView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:customText="Hello"
app:customColor="@color/red"
app:customSize="16sp" />

接下來,在自定義控件的類中獲取和使用這些屬性:

public class CustomView extends View {
private String customText;
private int customColor;
private float customSize;
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.CustomView);
customText = typedArray.getString(R.styleable.CustomView_customText);
customColor = typedArray.getColor(R.styleable.CustomView_customColor, Color.BLACK);
customSize = typedArray.getDimension(R.styleable.CustomView_customSize, 12);
typedArray.recycle();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 使用獲取到的屬性進行繪制
Paint paint = new Paint();
paint.setColor(customColor);
paint.setTextSize(customSize);
canvas.drawText(customText, 0, getHeight() / 2, paint);
}
}

在這個示例中,我們定義了三個自定義屬性customText、customColor和customSize,并在布局文件中對其進行了配置。然后在CustomView類中使用TypedArray來獲取這些屬性的值,并在onDraw方法中使用這些值進行繪制操作。

0
栖霞市| 巴林左旗| 凤凰县| 浑源县| 石楼县| 沛县| 临泽县| 南木林县| 美姑县| 普兰店市| 新竹县| 德兴市| 教育| 郯城县| 乌鲁木齐市| 吉安市| 仁寿县| 安岳县| 裕民县| 准格尔旗| 雷波县| 云阳县| 阿巴嘎旗| 晴隆县| 岳池县| 屏山县| 绥宁县| 鲁山县| 潢川县| 罗城| 仪陇县| 卫辉市| 高台县| 邛崃市| 高邮市| 怀来县| 垫江县| 法库县| 许昌县| 保山市| 玉田县|