Диалог с вкладками с фрагментами в виджете

Я работаю над виджетом, где для настроек виджета я хочу предоставить диалоговое окно с фрагментом вкладки, проблема в том, что в диалоговом окне нет вкладок панели действий, я пробовал различные шаблоны макета, но ни один из них, похоже, не работает.

  1. В манифесте сделали активность

    <activity android:theme="@android:style/Theme.Dialog"  android:launchMode="singleInstance"
              android:name="WidgetConfigureActivity"></activity>
    
  2. Я не уверен, какой макет использовать именно 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 к моей деятельности, чтобы весь шрифт отображался белым на белом фоне? (я увидел текст, наклонив экран)


person Akhil Jain    schedule 29.05.2013    source источник


Ответы (2)


Я не уверен, какой макет использовать именно ViewPager, FragmentTabHost в пользовательском интерфейсе, в основном не ясно, какой макет выбрать.

Это зависит от того, нужны ли вам пролистывающие вкладки (чтобы пользователь мог пролистывать не только по вкладкам) или нет. Если вам нужны перелистываемые вкладки (и я рекомендую вам реализовать это, поскольку это хороший вариант для пользователя), вы можете использовать ViewPager вместе с TabHost (вместо использования FragmentTabHost). Существует множество примеров того, как это сделать, я сам сделал один, который вы можете найти здесь.

Как сделать так, чтобы пользовательский интерфейс/макет НЕ менялся, даже если применить Theme.Dialog к моей деятельности, все шрифты отображаются белыми на белом фоне? (я увидел текст, наклонив экран)

Вам нужно будет создать свою собственную тему, расширяющую Theme.Dialog, и «исправить» нужные свойства. Алехандро Колорадо указал на решение.

person user    schedule 18.06.2013

Возможный ответ на ваш 4-й пункт - добавить это к вашему стилю (который основан на стандарте Theme.Dialog):

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

Аналогичным образом попробуйте этот пример FragmentTabHost, хотя вкладки находятся внизу.

person Alejandro Colorado    schedule 17.06.2013