在我的应用程序中使用Tab主机活动并设置带有图片的选项卡。当应用程序在模拟器上运行时,图像显示没有任何问题。但是,当我在移动设备上运行应用程序(Micromax mobile)时,它不会显示。
请告诉我问题是什么以及如何解决。
标签主机编码:
Intent intent = new Intent(this, WeekActivity.class);
tabHost.addTab(tabHost
.newTabSpec("Week")
.setIndicator("Weekly", res.getDrawable(R.drawable.ic_tab_main))
.setContent(intent));
Intent intent2 = new Intent(this,ListMonthActivity.class);
tabHost.addTab(tabHost
.newTabSpec("Month")
.setIndicator("Monthly", res.getDrawable(R.drawable.ic_tab_setup))
.setContent(intent2));
tabHost.setCurrentTab(0);
Intent intent3 = new Intent(this, ListYearActivity.class);
TabHost.TabSpec spec=tabHost.newTabSpec("Year").setIndicator("Yearly",getResources().getDrawable(R.drawable.ic_launcher)).setContent(intent3);
tabHost.addTab(spec);
/*tabHost.addTab(tabHost
.newTabSpec("Year")
.setIndicator("Yearly", res.getDrawable(R.drawable.ic_tab_setup))
.setContent(intent3));
tabHost.setCurrentTab(0);*/
// Set tabs Colors
tabHost.setBackgroundColor(Color.BLACK);
tabHost.getTabWidget().setBackgroundColor(Color.BLACK);
}
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/calendaricon"
android:state_selected="true"/>
<!-- When not selected, use white-->
<item android:drawable="@drawable/calendaricon2" />
</selector>
<?xml version="1.0" encoding="utf-8"?>
<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="0dp"
>
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent" android:layout_height="wrap_content"
/>
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent" android:layout_height="fill_parent"
/>
</LinearLayout>
</TabHost>
答案 0 :(得分:2)
您必须将图像保存在每个文件夹中,例如mdpi,hdpi,ldpi,并且您必须将图片保存在mdpi文件夹中,低分辨率或高密度移动设备会自动从mdpi foleder中选择图像。
答案 1 :(得分:2)
当我给出下面给出的代码时,它成功地运行了。
mTabHost.addTab(mTabHost.newTabSpec("Bar").setIndicator("",getResources().getDrawable(R.drawable.ic_barchart)), BarChart.class, null);
我所做的更改只是将setIndicator
的第一个参数保留为EMPTY字符串。 (当我将其作为"BarChart"
给出时,它不起作用。)
答案 2 :(得分:1)
将标签主机中的图像设置为:
TabHost.TabSpec spec=tabHost.newTabSpec("hello").setIndicator("hello",getResources().getDrawable(R.drawable.ic_launcher)).setContent(intent);
tabHost.addTab(spec);
我刚刚在设备中尝试了这个并且工作正常。