我如何在Android的内部主题中使用obtainStyledAttributes?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (30)

所以我查了一下,发现它android.R.styleable不再是SDK的一部分,尽管它仍然记录在这里:http : //developer.android.com/reference/android/R.styleable.html 这不会是一个真正的问题是否清楚地记录了替代方案。例如AOSP日历应用程序仍在使用android.R.styleable:

// Get the dim amount from the theme   
TypedArray a = obtainStyledAttributes(com.android.internal.R.styleable.Theme);
lp.dimAmount = a.getFloat(android.R.styleable.Theme_backgroundDimAmount, 0.5f);
a.recycle();
提问于
用户回答回答于

CustomView API演示演示如何检索样式属性。视图的代码在这里:

https://github.com/android/platform_development/blob/master/samples/ApiDemos/src/com/example/android/apis/view/LabelView.java

用于检索文本,颜色和大小的可修改阵列在此处的章节中定义:

https://github.com/android/platform_development/blob/master/samples/ApiDemos/res/values/attrs.xml#L24

你可以使用它来定义要作为组检索的任何属性列表,其中包含您自己的和由平台定义的属性列表。

用户回答回答于

你可以试试这段代码:

public ImageAdapter(Context c) {
    mContext = c;
    TypedArray a = c.obtainStyledAttributes(R.styleable.GalleryPrototype);
    mGalleryItemBackground = a.getResourceId(
            R.styleable.GalleryPrototype_android_galleryItemBackground, 0);
    a.recycle();
}

扫码关注云+社区