2013-07-18 3 views
4

Я развивающийся чат приложения в Android, и я хочу, чтобы добавить динамический чат Вкладка в зависимости от текущих соответствующих пользователей, как приложенные на скриншоте ниже:Как создать вкладки в Android Application и добавить вкладки динамически (в зависимости от соответствующих пользователей)

enter image description here

В Скриншот Chat Tabs находятся сверху, но я хочу Chat Tabs at bottom. Теперь я хочу, чтобы развить логику в onCreate method так что

Если есть три совпадающие пользователей затем создать 3 вкладку,

Если есть четыре совпадающих пользователей затем создать 4 вкладки, также ..

Я много раз искал вкладки чата и нашел способы создания чат-табов с помощью TabHost ..Но также выяснилось, что он устарел, не уверен. Другой способ - настроить чат-табы в Action Bar .. Где-то там, где используется ActionBarSherlock. Я очень смущен о чат-вкладках, что использовать?

Любая помощь будет оценена по достоинству.

ответ

1
@SuppressWarnings("deprecation") 
public class MainActivity extends TabActivity { 
    public static TabHost tabHost; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.tab_main); 

     // call addtab() how many times you need and pass tag and image resource id   
    } 
    private void addTab(String tag, int drawableId) { 
     tabHost = getTabHost(); 

     TabHost.TabSpec spec = tabHost.newTabSpec(tag); 

     // tab_indicator layout contains only imageview. this is for fix image size, position 
     View tabIndicator = LayoutInflater.from(this).inflate(
       R.layout.tab_indicator, getTabWidget(), false); 
     ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon); 
     icon.setImageResource(drawableId); 
     spec.setIndicator(tabIndicator); 
     tabHost.addTab(spec); 
    } 


} 
1

В настоящее время в последней версии андроида включена библиотека ActionBarSherlock. Таким образом, вы можете напрямую добавить вкладку, используя эту библиотеку в android.

Пример кода:

try 
{ 
     ActionBar actionBar = getActionBar(); 
     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
     // For each of the sections in the app, add a tab to the action bar. 
     actionBar.addTab(actionBar.newTab().setText(R.string.firsttab).setTabListener(this)); 
     actionBar.addTab(actionBar.newTab().setText(R.string.second).setTabListener(this)); 
     actionBar.addTab(actionBar.newTab().setText(R.string.third).setTabListener(this)); 
     actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_CUSTOM); 
} 
catch(Exception e) 
{ 
    e.printStackTrace(); 
} 
1

Я использую ActionBarSherlock на некоторое время, но я теперь перенесены на новый Android SDK 18 Действие Бар Compat. Ваш проект выглядит как простая реализация вкладок панели действий, и я не вижу причин, по которым вы должны начать использовать ActionBarSherlock (или tabHost) на этом этапе.

Action Bar Совместимость очень похож на Action Bar Sherlock и имеет то преимущество, что он является неотъемлемым компонентом библиотек поддержки Android V4 (совместим с SDK 7). См. Раздел «Новая библиотека приложений v7 appcompat» в разделе http://developer.android.com/tools/support-library/index.html.

Это также имеет то преимущество, что оно четко документировано. В данном руководстве подробно описано, как установить его: http://developer.android.com/tools/support-library/setup.html

(обратить особое внимание на раздел «Добавление библиотеки с ресурсами»)

Сделав это, вы будете следовать этому руководству, чтобы настроить поддержку действий Bar : http://developer.android.com/guide/topics/ui/actionbar.html

Раздел «Добавление вкладок навигации» дает ясный пример tabListener и как добавить вкладки. Вам нужно будет внести некоторые незначительные корректировки в этот код (для операторов цикла/if), чтобы определить, сколько вкладок нужно добавить. Я сделал это раньше, и это простое программирование.

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