Android - вкладки: пользовательский цвет и положение текста - PullRequest
0 голосов
/ 13 июля 2011

Простой вопрос (наверное). У меня есть этот учебный код Google по умолчанию для вкладок:

    intent = new Intent().setClass(this, About.class);
    spec = tabHost.newTabSpec("albums").setIndicator("About")
                  .setContent(intent);
    tabHost.addTab(spec);
    for (int i = 0; i < tabHost.getTabWidget().getTabCount(); i++) {
        tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = 50;
    } 

И мне было интересно - можно ли изменить положение текста и (или) фон, просто добавив строки кода к существующей части, не начав все заново? Спасибо!

Так что да: ТЕКСТОВАЯ ПОЗИЦИЯ и ТАМОЖЕННЫЙ ФОН (цвет html). Как мне это сделать? Спасибо!

P.S Пожалуйста, не начинайте сбрасывать ссылки на другие учебные пособия, мне довольно сложно их понять. : /

1 Ответ

0 голосов
/ 14 июля 2011

Я нашел код, который искал. Вот полный код моей активности в Tabs.java:

package com.xjcdi.name;

import com.xjcdi.exploringvilnius.R;

public class Tabs extends TabActivity implements OnTabChangeListener {

    TabHost tabHost;

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

        tabHost = (TabHost)findViewById(android.R.id.tabhost);
        tabHost.setOnTabChangedListener(this);

        Resources res = getResources(); // Resource object to get drawables
        TabHost tabHost = getTabHost();  // The activity TabHost
        TabHost.TabSpec spec;  // Reusable 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, Places.class);

        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost.newTabSpec("artists").setIndicator("Places")
                      .setContent(intent);
        tabHost.addTab(spec);
        for (int i = 0; i < tabHost.getTabWidget().getTabCount(); i++) {
            tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = 50;
        }
        for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)



        // Do the same for the other tabs
        intent = new Intent().setClass(this, About.class);
        spec = tabHost.newTabSpec("albums").setIndicator("About")
                      .setContent(intent);
        tabHost.addTab(spec);
        for (int i = 1; i < tabHost.getTabWidget().getTabCount(); i++) {
            tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = 50;
        }

        intent = new Intent().setClass(this, Artistai.class);
        spec = tabHost.newTabSpec("songs").setIndicator("Map")
                      .setContent(intent);
        tabHost.addTab(spec);
        for (int i = 2; i < tabHost.getTabWidget().getTabCount(); i++) {
            tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = 50;
        }

        intent = new Intent().setClass(this, Map.class);
        spec = tabHost.newTabSpec("songs").setIndicator("History")
                      .setContent(intent);
        tabHost.addTab(spec);
        for (int i = 3; i < tabHost.getTabWidget().getTabCount(); i++) {
            tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = 50;
        }



        tabHost.setCurrentTab(0);
    }

    @Override
    public void onTabChanged(String tabId) {
        // TODO Auto-generated method stub
        for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
        {
            tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#000000"));
        } 

        tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#c1902d"));
    }

}
...