Android以编程方式将XML形状设置为可绘制

CQM*_*CQM 21 xml resources android shape drawable

你好我有一个drawable myshape.xml,它包含一个<shape>我无法设置android:id到形状.

在我的代码中,我想使用将该视图的背景设置为此文件

catAll.setBackgroundDrawable(getResources().getDrawable(R.id......???));

myshape.xml没有显示在我的R文件中,因为它没有id.我无法将id设置为object.

在我的XML中,我只需输入可绘制的资源名称即可设置形状.但我需要以编程方式执行此操作.

K-b*_*llo 38

你不需要自己获得drawable.请改用:

catAll.setBackgroundResource(R.drawable.myshape);
Run Code Online (Sandbox Code Playgroud)

对于未来的参考,如果你希望得到心目中的绘制记住,在可绘制现场R.drawable命名空间.所以你的代码将成为:

getResources().getDrawable(R.drawable.myshape);
Run Code Online (Sandbox Code Playgroud)

这类似于您在XML中执行的操作:

@drawable/myshape
Run Code Online (Sandbox Code Playgroud)

代替

@id/myshape
Run Code Online (Sandbox Code Playgroud)