7

我正在研究小部件,我希望为小部件设置提供一个带有选项卡片段的对话框,问题是对话框没有操作栏选项卡,我尝试了各种布局模式,但它们似乎都不起作用。

  1. 在manifest中,做了activity

    <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);
    }
    

ViewPager 不是那么重要,但问题是如何让带有片段的选项卡式对话框?

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

4

2 回答 2

2

我不确定,UI中的ViewPager、FragmentTabHost到底要使用哪个布局,基本上不清楚该选择哪个布局。

这取决于您是否需要滑动标签(因此用户不仅可以滑动点击标签)。如果您确实需要可滑动的标签(并且我建议您实现它,因为它对用户来说是一个不错的选择),您可以使用 aViewPager沿着 a TabHost(而不是使用 a FragmentTabHost)。有很多关于如何做到这一点的示例,我自己制作了一个,你可以在这里找到

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

您需要制作自己的主题,扩展Theme.Dialog并“修复”您想要的属性。Alejandro Colorado 指出了解决方案。

于 2013-06-18T08:41:26.463 回答
1

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

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

同样,试试这个FragmentTabHost 示例,尽管选项卡位于底部。

于 2013-06-17T22:01:56.333 回答