Как установить высоту вкладки и как установить шрифт надписи в Android? - PullRequest
0 голосов
/ 04 октября 2011

В моем приложении я использую макет вкладки. Я хочу изменить высоту вкладки по умолчанию и изменить шрифт надписи вкладки без использования настраиваемой вкладки. Является ли это возможным? Если да, то как это реализовать. Кто-нибудь может мне подсказать

public class HelloTabWidget extends TabActivity 
{

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

        TabHost tabHost = getTabHost();  // The activity TabHost                            
        addTab(tabHost,"Find Gifts","findgifts",R.drawable.findgifts,R.layout.tabs_bg);
        }


    public static void addTab(TabHost host, String title, String tag,
            int drawable, int layout) {
        TabHost.TabSpec spec = host.newTabSpec(tag);
        spec.setContent(layout);
        View view = prepareTabView(host.getContext(), title, drawable);
        spec.setIndicator(view);
        host.addTab(spec);

    }

    private static View prepareTabView(Context context, String title,
            int drawable) {
         View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);

         ImageView tabicon = (ImageView) view.findViewById(R.id.tabicon);
         tabicon.setImageResource(drawable);

         TextView tabtext = (TextView) view.findViewById(R.id.tabsText);
         tabtext.setText(title);             

          return view;
    }
  }

Трассировка:

10-04 13:13:43.851: ERROR/AndroidRuntime(3734): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.tab/com.example.tab.HelloTabWidget}:  

java.lang.RuntimeException: Could not create tab content because could not find view with id 2130903042

10-04 13:13:43.851: ERROR/AndroidRuntime(3734): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)

Ответы [ 2 ]

1 голос
/ 04 октября 2011

Следующий код регулирует высоту на вкладках:

for (int i = 0; i < tabHost.getTabWidget().getTabCount(); i++)

{
 tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = 33; 
}  
0 голосов
/ 04 октября 2011

Есть много ресурсов, на которые я могу вам указать:

и этот ответ

редактировать:

Представление, которое вы пытаетесь findViewById(), отсутствует в R.layout.main

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...