настраиваемая вкладка в Android - PullRequest
1 голос
/ 05 сентября 2011

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

public class TabViewActivity extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TabHost tabHost = getTabHost();  // The activity TabHost
        TabHost.TabSpec spec;  // Resusable TabSpec for each tab
        Intent intent;  // Reusable Intent for each tab

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, FirstTab.class);
        // Initialize a TabSpec for each tab and add it to the TabHost

        spec = tabHost.newTabSpec("firstTab").setIndicator("First Tab")
                      .setContent(intent);


        tabHost.addTab(spec);
        tabHost.setCurrentTab(1);

Ответы [ 2 ]

1 голос
/ 05 сентября 2011

Используйте tabHost.getTabWidget().getChildAt(0).getLayoutParams().width =(int) 30;, также установите layout_width="wrap_content"

0 голосов
/ 05 сентября 2011

В вашем xml скрыть виджет вкладки, установив видимость пропала. и вместо этого используйте кнопку. А в обработчике кнопок вы можете использовать код вроде

public void tabHandler(View target){
    artistButton.setSelected(false);
    albumButton.setSelected(false);
    if(target.getId() == R.id.artist_id){
        tabHost.setCurrentTab(0);
        artistButton.setSelected(true);
    } else if(target.getId() == R.id.album_id){
        tabHost.setCurrentTab(1);
        albumButton.setSelected(true);
    }
}
...