gpt4 book ai didi

android - 将 ListFragment 的主题修改为与 Activity 不同?

转载 作者:IT王子 更新时间:2023-10-28 23:32:40 26 4
gpt4 key购买 nike

基本上我想在 list 中设置我的 Activity 主题如下:

android:theme="@android:style/Theme.Translucent.NoTitleBar"

我希望我的 Activity 加载一个 ListFragment 主题为 Theme.Holo.Dialog (以我自己的风格定义),但是我不能在我的 fragment 中尽可能地调用 setStyle(....)如果它是一个 DialogFragment。

我相信我应该能够使用 ContextThemeWrapper,但我无法理解我需要调用的电话。到目前为止,在我的 onCreateView 中我有:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
LayoutInflater newInflater = inflater.cloneInContext(new ContextThemeWrapper(getActivity(), R.style.DialogThemeSelector));
View inflatedView = newInflater.inflate(R.layout.favourites_print, container, false);
.....

但这不起作用。提前致谢。彼得。

*编辑 * 发帖风格:

<style name="DialogThemeSelector" parent="@android:style/Theme.Holo.Dialog"/>

最佳答案

尝试获取一个新的 LayoutInflater 而不是转换提供的,如下所示:

Context newContext = new ContextThemeWrapper(getActivity(), R.style.DialogThemeSelector);
LayoutInflater newInflater = (LayoutInflater) newContext.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
View inflatedView = newInflater.inflate(R.layout.favourites_print, container, false);

如果这不起作用,我会怀疑您的 style 中可能缺少某些东西。

关于android - 将 ListFragment 的主题修改为与 Activity 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6121616/

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