android获取自定义属性,android 自定义View中获取系统属性
时间: 2023-10-30 10:07:08 浏览: 117
android 自定义view及自定义属性
对于自定义属性,可以在xml布局文件中定义,然后在自定义View的构造函数中获取。具体步骤如下:
1. 在res/values/attrs.xml文件中定义自定义属性,例如:
```
<declare-styleable name="MyCustomView">
<attr name="myAttr" format="integer" />
</declare-styleable>
```
2. 在xml布局文件中使用自定义属性,例如:
```
<com.example.myapp.MyCustomView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:myAttr="10" />
```
3. 在自定义View的构造函数中获取自定义属性,例如:
```
public class MyCustomView extends View {
private int myAttr;
public MyCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyCustomView);
myAttr = a.getInteger(R.styleable.MyCustomView_myAttr, 0);
a.recycle();
}
}
```
对于系统属性,可以通过Context的obtainStyledAttributes方法来获取。例如:
```
TypedArray a = context.obtainStyledAttributes(new int[]{android.R.attr.textColorPrimary});
int textColor = a.getColor(0, 0);
a.recycle();
```
阅读全文