gpt4 book ai didi

android - 切换控件在 Android 5.0 版的 Dialog 上不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:01:40 24 4
gpt4 key购买 nike

我在我的应用程序中使用了下面的 switch

<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text=""
android:thumb="@drawable/toggle_button_color"
android:textOff="@string/text_estimate"
android:textOn="@string/text_accurate"
android:textColor="@color/white" />

在上面的 switch 中,我使用 toggle_button_color.xmlswitch 分别打开和关闭时将拇指颜色更改为绿色和红色。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@color/red" />
<item android:state_checked="true" android:drawable="@color/green" />
</selector>

如果我将此 switch 添加到 Activity 布局,然后它会完美地工作,如下图所示。 enter image description here enter image description here

但是,如果我使用 m_dialog.setContentView(R.layout.mylayout);Dialog 上添加此 switch,则 switch 如下所示。请注意,这里的 mylayout.xml 是一个 layout 文件,我在其中添加了 switch

enter image description here

对于低于 5.0 的 android 版本,lollipop switch 可以正常工作。请注意,出于某些原因,我在我的应用程序中使用了 Theme.Holo.Light,因此我无法使用 SwitchCompat

我知道这里有人问过类似的问题Switch crashes when clicked on Android 5.0 .

这里也有报道https://code.google.com/p/android-developer-preview/issues/detail?id=1704 .我也尝试了上面链接中提到的解决方法,为拇指和轨道添加可绘制图像,但我不明白为什么相同的开关在 activity layout 上工作,但在 Dialog 上不工作

有人可以帮我解决这个问题吗?

最佳答案

谢谢大家的回复,不过我自己解决了。早些时候我使用 Dialog 类实现对话框,这导致了问题。

Dialog mDialog= new Dialog(getActivity(),android.R.style.Theme_Dialog);
mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
mDialog.setContentView(R.layout.mylayout);

我什至尝试过更改主题,但没有帮助。

然后我尝试使用 DialogFragment,它解决了这个问题。

public class MyDialog extends DialogFragment{

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
View v = inflater.inflate(R.layout.mylayout, container, false);
return v;
}
}

然后从我的 Activity 类调用此 Dialog,如下所示。

MyDialog mDialog = new MyDialog();
mDialog .show(getFragmentManager(), "Hello");

关于android - 切换控件在 Android 5.0 版的 Dialog 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29839970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com