带有小部件片段的选项卡式对话框

时间:2013-05-29 06:12:54

标签: android android-layout android-widget android-fragments fragment-tab-host

我正在处理小部件,我正在寻找小部件设置,我希望提供一个带有标签片段的对话框,问题是对话框没有操作栏标签,我尝试了各种布局模式,但似乎没有一个工作

  1. 在清单中,已经进行了活动

    <activity android:theme="@android:style/Theme.Dialog"  android:launchMode="singleInstance"
              android:name="WidgetConfigureActivity"></activity>
    
  2. 我不确定,在UI中使用哪种布局正好使用ViewPager,FragmentTabHost,基本上不清楚要采用哪种布局。

  3. WidgetConfigureActivity现在扩展FragmentActivity,下面是代码(代码来自FragmentTabHost

    FragmentTabHost mTabHost;
    @Override
    protected void onCreate(Bundle arg0) {
        super.onCreate(arg0);
        setContentView(R.layout.widget_configure_activity);
        mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
        mTabHost.setup(this, getSupportFragmentManager(), R.id.tabhost);
        //this above setup line gives error => (The method setup(Context, FragmentManager, int) in the type FragmentTabHost is not applicable for the arguments (WidgetConfigureActivity, FragmentManager, int))
        mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
                MyFragment.class, null);
    }
    
  4. ViewPager并不重要,但如何使用带有片段的标签对话框是个问题?

    4.如果将Theme.Dialog应用于我的活动,如何使UI /布局不更改,所有字体在白色背景中显示为白色? (我通过倾斜屏幕看到了文字)

2 个答案:

答案 0 :(得分:2)

  

我不确定,哪个布局要使用ViewPager,FragmentTabHost   在UI中,基本上不清楚要采用哪种布局。

这取决于您是否需要滑动标签(因此用户可以滑动,不仅可以点击标签)。如果你确实需要可刷卡的标签(我建议你实施它,因为这对用户来说是个不错的选项)你可以在ViewPager上使用TabHost(而不是使用FragmentTabHost) 。关于如何做到这一点有很多样本,我自己做了you can find here

  

即使将Theme.Dialog应用于我的UI,如何使UI /布局不变   活动,所有字体在白色背景中显示为白色? (我见过   倾斜屏幕的文字)

您需要制作自己的主题,从Theme.Dialog扩展并“修复”您想要的属性。亚历杭德罗科罗拉多已经指出了解决方案。

答案 1 :(得分:1)

第4点的可能答案是将其添加到您的样式中(基于标准Theme.Dialog):

<item name="android:textColor">?android:attr/textColorPrimaryInverseDisableOnly</item>

同样,尝试使用FragmentTabHost的this示例,尽管标签位于底部。