Tôi đang cố gắng thực hiện một ứng dụng tab đơn giản trong Android với hai tab. Vấn đề của tôi là khi tôi đặt mã này, trong tab, chỉ hiển thị văn bản, nhưng không có biểu tượng. Nếu tôi đặt văn bản vào "" biểu tượng được hiển thị.Biểu tượng tab không hiển thị
Ai đó có thể giúp tôi không? Phiên bản Android của tôi là 4.0.3.
Cảm ơn rất nhiều.
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+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" >
<TabWidget android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@android:id/tabs" />
<FrameLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@android:id/tabcontent" >
<LinearLayout android:id="@+id/tab1"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView android:id="@+id/textView1"
android:text="Contenido Tab 1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout android:id="@+id/tab2"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView android:id="@+id/textView2"
android:text="Contenido Tab 2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
và hệ thống mã ngành là
public class TabTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources();
TabHost tabs=(TabHost)findViewById(R.id.tabhost);
tabs.setup();
TabHost.TabSpec spec=tabs.newTabSpec("mitab1");
spec.setContent(R.id.tab1);
spec.setIndicator("sss",
res.getDrawable(android.R.drawable.ic_btn_speak_now));
tabs.addTab(spec);
spec=tabs.newTabSpec("mitab2");
spec.setContent(R.id.tab2);
spec.setIndicator("TAB2",
res.getDrawable(android.R.drawable.ic_dialog_map));
tabs.addTab(spec);
tabs.setCurrentTab(0);
}
như bạn có thể thấy là rất đơn giản. Nhưng khi tôi viết spec.setIndicator("", res.getDrawable(android.R.drawable.ic_dialog_map));
Tôi có thể thấy biểu tượng, bu khi tôi viết spec.setIndicator("TAB2", res.getDrawable(android.R.drawable.ic_dialog_map));
Tôi chỉ có thể thấy TAB2, nhưng không có cả hai.
Dường như không có không gian khó khăn nào để hiển thị cả hai. Vì vậy, tôi đã cố gắng tăng chiều cao của tab bằng cách này
tabs.getTabWidget().getChildAt(1).getLayoutParams().height = 150;
nhưng dường như không hoạt động.
bạn có thể giải thích thêm một chút không? Tôi không hiểu khi bạn nói quá tải? cảm ơn rất nhiều – theholy
Điều này không làm việc cho tôi –