0

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 セレクターです。

4

1 に答える 1

0

これは奇妙ですが、Nexus 7 は hdpi や xhdpi ではなく、tvdpi であるため、drawable-tvdpi ディレクトリを作成してそこに画像を配置すると、機能します。

于 2013-01-18T16:17:54.643 に答える