我有一系列代表的一系列主题的ToggleButtons。 当切换,切换按钮改变其背景颜色来表示它的状态。 当在checked
状态,切换按钮有一个较深的颜色。
微调框覆盖的切换按钮,允许用户选择该主题的难度。
如何更改微调的文本颜色(白色)按下切换按钮时? 我想我可以处理不断变化的微调选择,但我奋力想办法来改变文字颜色。
我有一系列代表的一系列主题的ToggleButtons。 当切换,切换按钮改变其背景颜色来表示它的状态。 当在checked
状态,切换按钮有一个较深的颜色。
微调框覆盖的切换按钮,允许用户选择该主题的难度。
如何更改微调的文本颜色(白色)按下切换按钮时? 我想我可以处理不断变化的微调选择,但我奋力想办法来改变文字颜色。
请尝试以下方法。
spinnertext.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinnerText"
style="?android:attr/spinnerItemStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="2dp"
android:paddingLeft="6dp"
android:textColor="#41f2f3" />
现在,在代码。
ArrayAdapter<String> sp_adapter = new ArrayAdapter<String>(this, R.layout.spinnertext, your_array);
sp.setAdapter(sp_adapter);
然后切换按钮工作
ToggleButton tb = (ToggleButton) findViewById(R.id.toggleButton1);
tb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
TextView tv = (TextView) findViewById(R.id.spinnerText);
if (isChecked)
tv.setTextColor(Color.RED);
else
tv.setTextColor(Color.BLUE);
}
});
参考 。
试试这个方法。 这对我的作品。 我希望这将工作你。
在微调onItemSelected方法,你必须改变这样的:
public void onItemSelected(AdapterView<?> parent, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
item = (String) parent.getItemAtPosition(arg2);
((TextView) parent.getChildAt(0)).setTextColor(0x00000000);
}
我们对我们的应用程序的一件事是一个自定义的微调视图。 它有一个背后的黑色半透明圆角正方形,比它稍大。 它可以在任何背景。
从Gunaseelan答案帮我指出了正确的方向。 正如他所说,与工作ToggleButton
是要走的路。 该ToggleButton
控件有一个android:onClick
,您可以使用指定的方法时切换按钮被触发运行XML属性/点击(如描述在这里 。
设置微调文本和微调选择的颜色可能会有点困难。 要改变微调文本颜色:
ToggleButton cardiologyToggle = (ToggleButton) findViewById(R.id.cardiology_toggle);
if (cardiologyToggle.isChecked()) {
spinnerText.setTextColor(Color.WHITE);
} else {
spinnerText.setTextColor(Color.BLACK);
}
这改变只有当已经选择了微调显示的文本。