1
我試圖設置在我的CustomView的xml中可繪製。但它不顯示我的app:enableProgressRes="@drawable/vbequalizer_bg"
或customname:enableProgressRes="@drawable/vbequalizer_bg"
xml無法訪問自定義視圖屬性android
我的意思是自定義屬性不包括在內。當我們點擊Ctrl+Space
android:attr shows。
而且我已經試過將這些命名空間逐個包含到根佈局中。
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:custom="http://schemas.android.com/apk/res-auto"
xmlns:customname="http://schemas.android.com/apk/res/zare.custom.views"
但是我的屬性在XML訪問。其中任何
This answer says,該問題得到解決之後ADT 17.
attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="VolumnBar">
<attr name="disableProgressRes" format="integer" />
<attr name="enableProgressRes" format="integer" />
</declare-styleable>
</resources>
CustomView(VolumeBar都)構造
public VolumnBar(Context context, AttributeSet attributeset)
{
super(context, attributeset);
if(!isInEditMode())
{
TypedArray a = context.obtainStyledAttributes(attributeset, R.styleable.VolumnBar);//VolumnBar same name as Class Name
try
{
drawableProgress = a.getDrawable(R.styleable.VolumnBar_disableProgressRes);
drawableInvalidateProgress = a.getDrawable(R.styleable.VolumnBar_enableProgressRes);
}
catch (Exception e)
{
}
finally
{
a.recycle();
}
}
}
是的正確格式是引用。但我已經使用整數創建了一些自定義視圖,並且它們工作正常。經過測試,你的代碼問題沒有解決。 – Nepster
您還可以參閱http://stackoverflow.com/a/6108156/3496570 – Nepster