gpt4 book ai didi

android - 如何隐藏 fragment 中首选项之间的分隔线

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:55 27 4
gpt4 key购买 nike

我想隐藏 fragment 中首选项之间的分隔符。代码如下:

1.SettingsActivity.java

public class SettingsActivity extends PreferenceActivity {
super.onCreate(savedInstanceState);
SettingsFragment settingsFragement = new SettingsFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.add(android.R.id.content, settingsFragement, "settings");
transaction.commitAllowingStateLoss();
}

2.SettingsFragment.java

public class SettingsFragment extends PreferenceFragment{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
}
}

3.settings.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory>
<Preference
android:key="preference_a"
android:title="preferenceA"/>
<Preference
android:key="preference_b"
android:title="preferenceB"/>
<ListPreference
android:key="list_preference_c"
android:title="list_preferenceC"/>
</PreferenceCategory>
</PreferenceScreen>

首选项中有系统默认分隔符。我想隐藏分隔线。

如何隐藏分隔线?非常感谢。


谢谢大家的回答。但是,问题是我无法从 Activity 和 fragment 中获取 ListView 。

ListView list = (ListView) findViewById(android.R.id.list);

最佳答案

如果您正在使用 PreferenceFragmentCompat,它正在使用 Recycle View ,因此您必须使用此代码。这会自动隐藏分隔符

@Nullable
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {

setDivider(new ColorDrawable(Color.TRANSPARENT));
setDividerHeight(0);
}

关于android - 如何隐藏 fragment 中首选项之间的分隔线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27518115/

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