0
我必须开发一个android应用程序。通过编程在android中更改背景颜色布局
我必须显示背景颜色是#424340为正常状态。但我必须单击这些布局(选择和按状态)意味着必须更改背景颜色是#FF0000.How我可以编程...请给我这些解决方案...
我用下面的代码创建programmtically布局:
LinearLayout ar = new LinearLayout(this);
ar.setOrientation(LinearLayout.VERTICAL);
ar.setPadding(3, 3, 3, 3);
ar.setLayoutParams(artiLayoutParams);
ar.setGravity(Gravity.CENTER);
ar.setBackgroundDrawable(getResources().getDrawable(R.drawable.list_selector));
在这里,我ahve点击这些布局意味着color.so我ahve使用下面的代码更改背景。请检查一下。
list_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Selector style for listrow -->
<item
android:state_selected="false"
android:state_pressed="false"
android:state_focused="false"
android:drawable="@drawable/gradient_bg" />
<item android:state_pressed="true"
android:state_selected="true"
android:state_focused="true"
android:drawable="@drawable/gradient_bg_hover" />
</selector>
gradient_bg.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="3dp" android:color="#424340" />
<padding android:left="3dp" android:top="3dp" android:right="3dp"
android:bottom="3dp" />
<corners android:radius="4dp" />
</shape>
gradient_bg_hover.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="3dp" android:color="#FF0000" />
<padding android:left="3dp" android:top="3dp" android:right="3dp"
android:bottom="3dp" />
<corners android:radius="4dp" />
</shape>
但我的背景颜色并没有改变。在我的code.please错误的帮助我...
没有雅..现在也只有相同的问题。如果我必须按那个布局意味着背景颜色没有改变... – user1796222 2013-03-25 16:29:14