我已經制作了一個自定義視圖,並且似乎無法從那裏訪問自定義的顏色。我的整個應用程序由以下3個文件getResources()。getColor在自定義視圖中不工作
colors.xml位於在res /的值的文件夾:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#000000</color>
</resources>
TestView.java:
public class TestView extends View {
Paint background;
int viewWidth;
int viewHeight;
public TestView(Context context){
super(context);
background = new Paint();
background.setColor(getResources().getColor(R.color.black));
//find view dimensions
viewWidth = getWidth();
viewHeight = getHeight();
}
@Override
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
canvas.drawRect(0,0,viewWidth,viewHeight, background);
}
}
和MainActivity.java:
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
TestView testView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
testView = new TestView(this);
setContentView(testView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
我所得到的只是一個空白的白色屏幕,它應該是黑色的!我一直試圖弄清楚可能會導致這種情況持續2天左右,不用說我已經嘗試了很多,但沒有奏效。如果有人能幫我解決這個問題,我會很感激。
謝謝!
mispell應該R.colors.black而不是R.color.black –
嘿的還阮。如果我編寫R.colors.black,則不會編譯,而且,xml的名稱是colors.xml。這是我已經嘗試的事情之一,但謝謝你的建議! – Rookatu
gen文件夾是否包含R.colors.black ID? –