2010-03-23 30 views
8

Có thể đặt chiều cao TabWidget và có nhãn tab điều chỉnh không?TabWidget Chiều cao

Nếu tôi đặt chiều cao TabWidget quá nhỏ, thì các nhãn sẽ bị ẩn khỏi chế độ xem.

<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/tabhost" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp"> 
      <TabWidget 
       android:id="@android:id/tabs" 
       android:layout_width="fill_parent" 
       android:layout_height="30px" /> 
      <FrameLayout 
       android:id="@android:id/tabcontent" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:padding="5dp" /> 
    </LinearLayout> 
</TabHost> 

Cảm ơn

Trả lời

9

Android 1.6 bổ sung thêm một phương pháp setIndicator() trên TabSpec chấp nhận một View. Tôi chưa thử nó, nhưng sự hiểu biết của tôi là nó sẽ giúp bạn kiểm soát tốt hơn các tab.

+0

Điều đó sẽ thực hiện công việc. Cảm ơn. – Steve

0

Tính năng chặn tab phụ thuộc vào công việc của khung. Bạn chỉ nên tùy chỉnh từ đó hoặc tùy chỉnh một số chế độ xem khác để trông giống như vậy.

2

tôi thấy ... khi u addTab, thường chúng tôi sử dụng setIndicator như thế này:

QTabHost.addTab(QTabHost.newTabSpec("tab_test2").setIndicator("TAB 2").bla bla.... 

u có thể sử dụng TextView để thay thế "TAB 2", đã trở thành như thế này:

tview=new TextView(this); tview.setText("Title here"); QTabHost.addTab(QTabHost.newTabSpec("tab_test2").setIndicator(tview).bla bla.... 

tất cả u cần chỉ là sửa đổi các textview. Cảm ơn ... ^^

16

Các mã sau điều chỉnh chiều cao trên tab:

for (int i = 0; i < tabHost.getTabWidget().getTabCount(); i++) { 
    tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = 33; 
} 

Tuy nhiên, điều này sẽ tạo ra một khiếm khuyết về màu nền của tab un-chọn. Tôi không biết cách giải quyết vấn đề này. Một số diễn đàn cho rằng nó không thể giải quyết được mà không cần tạo một widget tab tùy chỉnh.

+1

Điều này hoạt động tốt. Tôi không thấy nó tạo ra bất kỳ khiếm khuyết nào. –

+0

cũng làm việc cho tôi:> – brux