Android 4.2无法正确显示切换按钮
我用我的安卓2.2手机创建了一个应用程序。我在一个活动中有四个切换按钮。我在运行安卓4.2的平板电脑上查看了我的应用程序,但指示灯不在按钮底部 我首先想到它可能被切断了,所以我设置了按钮高度Android 4.2无法正确显示切换按钮,android,android-layout,Android,Android Layout,我用我的安卓2.2手机创建了一个应用程序。我在一个活动中有四个切换按钮。我在运行安卓4.2的平板电脑上查看了我的应用程序,但指示灯不在按钮底部 我首先想到它可能被切断了,所以我设置了按钮高度200dp,但指示器仍然不在那里。 我还以编程方式调整了宽度,但注释无效。 在我运行安卓2.2的手机上,该切换正确显示 以下是其中一个按钮的XML: <ToggleButton android:id="@+id/cat_btn1" android:layout_width="wrap_
200dp
,但指示器仍然不在那里。我还以编程方式调整了宽度,但注释无效。
在我运行安卓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" />
我决定用API17创建另一个项目,它有一个切换按钮,并且显示正确,所以我不知道是什么原因导致了我的第一个项目出现问题
第二个项目图像和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" />
使用自定义主题时要小心。在许多情况下,您需要根据API级别从适当的父主题继承,以获得所需的外观 使用Eclipse中的活动创建的现代项目将为您设置样式资源,以鼓励:
定义了一个res/values/styles.xml
,继承自API 11级之前的主题(例如,AppBaseTheme
)theme.Light
重写res/values-v11/styles.xml
以继承AppBaseTheme
主题(例如,Holo
)theme.Holo.Light
可能存在以再次覆盖res/values-v14/styles.xml
(例如,使用AppBaseTheme
)Theme.Holo.Light.darkaActionBar
还具有res/values/styles.xml
,定义为继承自AppTheme
,您在清单中引用AppBaseTheme
,以及应用程序的主题(或活动的主题)AppTheme
在
AppTheme
中放置可以在任何API级别上工作的自定义设置。将特定于API级别的自定义设置放入相应的AppBaseTheme
。而且,如果您想更改常规外观(例如,切换到暗/无操作栏),请使用适合该API级别的主题来更改AppBaseTheme
继承自的主题。我会在切换按钮上取消onClick
——请使用setOnCheckedChangedListener()
响应切换按钮
状态的更改。另外,您的第一个项目使用的自定义主题可能会干扰切换按钮的样式设置吗?我只是使用theme.Black.NoTitleBar
。是在所有按钮上使用建议的侦听器,还是仅切换?“是在所有按钮上使用建议的侦听器,还是仅切换?”——ToggleButton
处理自己的单击事件,以及CompoundButton
的所有子类。因此,使用setOnCheckedChangedListener()
是有意义的。非常感谢。我尝试使用主题
,但没有改变按钮。我还拿出了onClick
,但仍然没有指示灯。您可以尝试在层次结构视图中戳这两个活动,看看是否有什么东西突然向您扑来,这可能是您的问题的根源。