Android 通过mainactivity动态更改可绘制文件
我的问题如下: 我有一个Mainactivity类,其中有一个方法,该方法获取id为colorselected的TextView 主要活动方法: 第一个XML文件中的文本视图: 正如您所见,my TextView使用了一个名为colorselecteddrawable的可绘制文件,该可绘制文件中的代码是:Android 通过mainactivity动态更改可绘制文件,android,background,textview,android-drawable,Android,Background,Textview,Android Drawable,我的问题如下: 我有一个Mainactivity类,其中有一个方法,该方法获取id为colorselected的TextView 主要活动方法: 第一个XML文件中的文本视图: 正如您所见,my TextView使用了一个名为colorselecteddrawable的可绘制文件,该可绘制文件中的代码是: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.co
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="50dp"/>
<solid android:color="#000000" />
</shape>
每当执行onColorSelected方法时,我试图设置TextView的背景色。但是,如果我使用现在的方法,我的TextView不再是圆形的,可能是因为TextView背景色被覆盖,不再使用drawable
因此,我的问题是:如何更改Mainactivity方法,以便在执行该方法时将标记更改为新颜色?您应该在xml代码中添加android:shape=rectangle或android:shape=oval
你能检查一下我的答案吗?谢谢。这并没有解决它:/当它第一次改变时,但一旦我执行colorselected方法,它就会覆盖Drawables。你应该为selected状态添加一个形状。然后你可以在xml代码中使用它。然后你可以为shape normal和shape selected添加select.xml。你可以检查这个链接@PieterDesseyn
<TextView
android:id="@+id/colorselected"
android:layout_width="15dp"
android:layout_height="15dp"
android:background="@drawable/colorselecteddrawable"
... />
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="50dp"/>
<solid android:color="#000000" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="50dp"/>
<solid android:color="#000000"/>
</shape>