android – 具有透明背景的PreferenceFragment?

android – 具有透明背景的PreferenceFragment?,第1张

概述我创建了一个包含两个类别和一个复选框的PreferenceFragment,但是,当我在我的应用程序中显示它时,背景看起来是透明的. 我可以看到主要活动,字段和PreferenceFragment已经放在主要活动的顶部…这个解决方案是什么? 在我的主要活动中,我这样做是为了在选择设置按钮时打开PreferenceFragment: @Overridepublic boolean onOption 我创建了一个包含两个类别和一个复选框的PreferenceFragment,但是,当我在我的应用程序中显示它时,背景看起来是透明的.

我可以看到主要活动,字段和PreferenceFragment已经放在主要活动的顶部…这个解决方案是什么?

在我的主要活动中,我这样做是为了在选择设置按钮时打开PreferenceFragment:

@OverrIDepublic boolean onoptionsItemSelected(MenuItem item) {    //handle presses on action bar items    switch (item.getItemID()) {        case R.ID.action_settings:            getFragmentManager().beginTransaction().replace(androID.R.ID.content,new SettingsFragment()).commit();            return true;        default:            return super.onoptionsItemSelected(item);    }}

我的PreferenceFragment代码如下所示:
public class SettingsFragment扩展了PreferenceFragment {

@OverrIDepublic voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    //load the preferences from an XML resource    addPreferencesFromresource(R.xml.preferences);  }}

我的preferences.xml看起来像这样:

<PreferenceScreen xmlns:androID="http://schemas.androID.com/apk/res/androID"  androID:layout_height="wrap_content"  androID:layout_wIDth="wrap_content"  androID:layout="@layout/fragment_settings">  <Preferencecategory    androID:title="@string/server_prefs_Title"    androID:key="pref_key_server_settings" >  <CheckBoxPreference    androID:key="pref_server_url"    androID:title="@string/pref_server_url"    androID:summary="@string/pref_server_url_summ"    androID:defaultValue="true" />  </Preferencecategory>  <Preferencecategory    androID:title="@string/company_prefs_Title"    androID:key="pref_key_company_settings" >  </Preferencecategory></PreferenceScreen>

我尝试了Stack Overflow上的另一个答案并将其添加到我的Preference Fragment中,虽然它阻止了从Main Activity中可见的字段,但它看起来只是一个掩码,因为片段字段也受到颜色的影响我设置:

@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater,VIEwGroup container,Bundle   savedInstanceState) {    VIEw vIEw = super.onCreateVIEw(inflater,container,savedInstanceState);    vIEw.setBackgroundcolor(getResources().getcolor(androID.R.color.black));    return vIEw;}

谢谢您的帮助!!!

编辑:我想我在输入时回答了我自己的问题……我补充道:

addPreferencesFromresource(R.xml.preferences);

做完之后:

VIEw vIEw = super.onCreateVIEw(inflater,savedInstanceState); vIEw.setBackgroundcolor(getResources().getcolor(androID.R.color.black));

这是解决这个问题的正确方法吗?

解决方法 在扩展PreferenceFragment的Fragment(SettingsFragment)中添加它:
@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater,Bundle savedInstanceState) {    VIEw vIEw = super.onCreateVIEw(inflater,savedInstanceState);    vIEw.setBackgroundcolor(getResources().getcolor(androID.R.color.white));    return vIEw;}
总结

以上是内存溢出为你收集整理的android – 具有透明背景的PreferenceFragment?全部内容,希望文章能够帮你解决android – 具有透明背景的PreferenceFragment?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1134952.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存