TabHost и Android 4.0 ICS - PullRequest
       24

TabHost и Android 4.0 ICS

1 голос
/ 23 марта 2012

Я долго искал это ... Я пишу приложение, которое должно быть совместимо между Android 2.2 и Android 4.0.Поскольку под Android 4.0 вкладки устарели, мне было интересно, что будет правильным способом сделать это?Если я все еще использую вкладки, так как в моих тестах они выглядят довольно хорошо (все одинакового размера, без значков ...), но если я затем запускаю его на 2.2, они все выглядят сжатыми (только размер заголовка, который имеет каждая вкладка,Может быть, это связано со мной, используя HorizontalScrollView?) Что будет правильным решением здесь?Просто используете вкладки для Android 2.2 и 4.0?И если да, как я могу установить вкладки на 2.2, чтобы все были одинакового размера?Использовать фрагменты на 4.0 и вкладки на 2.2?И если да, то как бы я это реализовал?Если я должен использовать вкладки, я должен использовать только 4 вкладки (у меня от 2 до 10 - динамически) и добавить дополнительную вкладку «Дополнительно»?Если да, то как бы я это сделал?

Надеюсь, вопрос понятен.Если не стесняйтесь, попросите дополнительную информацию.

Ответы [ 2 ]

7 голосов
/ 23 марта 2012

Вы можете проверить ActionBarSherlock - он предоставляет новые приятные вкладки ICS для Android 2.1+ и имеет отличные образцы.

0 голосов
/ 23 марта 2012

попробуйте этот код

public class WebMenu extends TabActivity {
    //Intent intent;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tebmenu);

        Resources res = getResources();
        TabHost tabHost = getTabHost();
        TabHost.TabSpec spec;

        Intent intent = new Intent().setClass(this, Add_webpage.class);
        spec = tabHost
                .newTabSpec("Add new Web Page")
                .setIndicator("New",
                        res.getDrawable(R.drawable.folder_web_blue))
                .setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, WebHistory.class);
        spec = tabHost.newTabSpec("Web History")
                .setIndicator("History", res.getDrawable(R.drawable.webhistory))
                .setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, WebList.class);
        spec = tabHost.newTabSpec("Web List")
                .setIndicator("List", res.getDrawable(R.drawable.weblist))
                .setContent(intent);
        tabHost.addTab(spec);

        tabHost.setCurrentTab(2);
    }
}
...