我试图使用切换按钮,支持回到API 11.问题是这个标准Toggle Buttom似乎有一个灰色的背景颜色,而我只是想它是白色的(像背景)。
我一直在尝试:
android:background="@color/white"
android:background="@null"
然后我也失去了指示灯,我想保留它。 我已经看到了一些关于更改切换按钮背景颜色(创建自己的选择器)的答案,但我似乎也失去了那些指示灯。
这是布局的相关部分:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/event_bottom_sheet_attenders"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/white"
android:drawableLeft="@drawable/state_list_people_person_bottom_sheet"
android:drawableStart="@drawable/state_list_people_person_bottom_sheet"
android:gravity="center"
android:padding="10dp"
android:text="Attenders"
android:textColor="@color/material_teal_500" />
<ToggleButton
android:id="@+id/event_bottom_sheet_toggle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:checked="true"
android:gravity="center"
android:padding="10dp"
android:textColor="@color/material_teal_500"
android:textOff="Not going"
android:textOn="Going" />
</LinearLayout>
我该如何解决这个问题?
提前致谢。
答案 0 :(得分:1)
您可以考虑查看不同的android themes作为开始。
选择一个适合您喜欢的主题,或者如果您想要特别的东西,可以自定义自己的主题。
根据您的描述,您可以尝试Android Light主题。如此更改您的活动信息:
<activity android:theme="@android:style/Theme.Light">
P / s:应用主题也可让您的应用看起来更加一致。
答案 1 :(得分:0)
检查出来: -
ToggleButton Btn=new ToggleButton(this);// or get it from the layout by ToggleButton Btn=(ToggleButton) findViewById(R.id.IDofButton);
Btn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked)
buttonView.setBackgroundColor(Color.GREY);
else buttonView.setBackgroundColor(Color.WHITE);
}
});
根据需要进行相应的操作。
希望这会有所帮助。 :)