我使用Android 2.2手机创建了一个应用程序。我在活动中有四个切换按钮。我在运行Android 4.2的平板电脑上查看了我的应用程序,并且指示灯不在按钮的底部。Android 4.2无法正确显示切换按钮
我首先想到的是它可能会被截断,所以我所做的按钮高度200dp
,但是指示灯仍然不存在。
我也在以编程方式调整宽度,但评论它没有帮助。
切换屏幕在运行Android 2.2的手机上正确显示。
这里是一个按钮的XML:
<ToggleButton
android:id="@+id/cat_btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView3"
android:layout_alignParentLeft="true"
android:textSize="12dp"
android:onClick="toggleClicked"
android:layout_marginLeft="10dp" />
我决定创建API 17的另一个项目,有一个单一的切换按钮,它正确地显示,所以我不知道是什么原因造成的问题在我的第一个项目。
第二个项目形象和XML:使用自定义主题时
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_marginTop="56dp"
android:layout_toRightOf="@+id/textView1"
android:text="ToggleButton" />
我会在'ToggleButton'上摆脱'onClick' - 请使用'setOnCheckedChangedListener()'来响应'ToggleButton'状态的变化。此外,您的第一个项目是否使用可能会干扰“ToggleButton”样式的自定义主题? – CommonsWare 2013-03-27 14:01:08
我只是使用'Theme.Black.NoTitleBar'。是使用所有按钮上推荐的监听器,还是只是切换? “ – Ryan 2013-03-27 14:02:36
”正在使用所有按钮上推荐的侦听器,或者只是切换?“ - ”ToggleButton“处理它自己的点击事件,就像”CompoundButton“的所有子类一样,因此使用'setOnCheckedChangedListener()'。 – CommonsWare 2013-03-27 14:04:06