使用自定义视图时,似乎无法使用从父视图扩展的android命名空间attr。我认为这不合理。 这是我的代码:
int[] set = {
android.R.attr.src // idx 0 use the android: tag attr
};
final TypedArray b = getContext().obtainStyledAttributes(attrs, set);
BitmapDrawable drawable1 = (BitmapDrawable)b.getDrawable(0);
mIconBitmap = drawable1.getBitmap();
b.recycle();
,活动是:
<com.example.ling.fragmenttest.TabImage
xmlns:tabImage="http://schemas.android.com/apk/res/com.example.ling.fragmenttest"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/button_image"
tabImage:tabColor="#FF33B5E5"
tabImage:tabSrc="@drawable/ic_friend"
android:src="@drawable/ic_setting"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center_vertical"/>
我只想在java文件中使用android:src attr。但是getDrawable()返回null而不是ic_setting。顺便说一句,我的观点是从ImageView扩展而来。
我发现一个类似于我的情况:[How to use standard attribute android:text in my custom view? 但为什么我得到零.....请帮帮我〜