2012-03-23 3 views
1

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

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

ответ

7

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

+0

Хотел попробовать это уже давно ... Я постараюсь, спасибо вам большое! – user754730

+1

Добро пожаловать. Это отличный инструмент для создания совместимых приложений :) – Tim

+0

Ничего себе это действительно ... Просто установил демонстрационные приложения в Play Store ... На самом деле это потрясающе! Еще раз спасибо, я думаю, теперь я буду использовать ActionBarSherlock для приложения! – user754730

0

попробовать этот код

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

Спасибо! Но я не думаю, что вы правильно поняли это. У меня уже есть код. У меня есть мои вкладки и т. Д. Мне было интересно, что это правильный путь? – user754730

Смежные вопросы