TabHost不能在Nexus 7上渲染图像,而是在其他所有设备上渲染图像

时间:2013-01-17 15:14:16

标签: java android android-tabhost

我想通过TabSpec在我的TabHost中显示一个视图,它可以在我的所有设备上运行Nexus 7。

Drawable img = getResources().getDrawable(R.drawable.tab_info_icon);
Intent intent = new Intent(context, Actus.class);
setupTab(img, intent);

private void setupTab(final Drawable image, final Intent intent) {
    View tabview = createTabView(mTabHost.getContext(),image, intent);
    TabSpec setContent = mTabHost.newTabSpec("").setIndicator(tabview).setContent(intent);
    mTabHost.addTab(setContent);
}  

private static View createTabView(final Context context, final Drawable image,final Intent intent) {  
    View view = LayoutInflater.from(context).inflate(R.layout.onglet, null);  

    LinearLayout ll = (LinearLayout)view.findViewById(R.id.fondOnglet);
    ll.setBackgroundResource(R.drawable.tab_bg);

    ImageView iv = (ImageView)view.findViewById(R.id.imgOnglet);
    iv.setImageDrawable(image);
    return view;
}

R.drawable.tab_info_icon是一个xml选择器。

1 个答案:

答案 0 :(得分:0)

这很奇怪,但是Nexus 7不是hdpi或xhdpi,它是tvdpi,所以我创建了一个drawable-tvdpi目录并将我的图像放在那里,它可以工作。