0

こんにちは私はAndroid開発の初心者です。タブ構造を作成したいのですが、すべてのタブにアイコンを付けたいところです。xmlでアイコンを指定すると、タブに反映されますが、アイコンが完全なスペースを占めていません。これを手伝ってください。これが私のタブxmlです

<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"
    android:background="#000000">

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >

        <TabWidget
                     android:id="@android:id/tabs"
                     android:layout_width="fill_parent"
                     android:layout_height="wrap_content" 
                     android:layout_alignParentBottom= "true"
                     />
        <FrameLayout
                     android:id="@android:id/tabcontent"
                     android:layout_width="fill_parent"
                     android:layout_height="fill_parent"
                     android:layout_above= "@android:id/tabs"
                     android:padding="5dp" />
    </RelativeLayout>
</TabHost>

以下は、タブにアイコンを付けるために使用しているxmlです。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/home" android:state_selected="true"/>

<item android:drawable="@drawable/homefade"/>

</selector>

これは私がアイコンを適用するために使用しているJavaコードです。

    TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);

    tabHost.addTab(tabHost.newTabSpec(HOME_TAB).setIndicator("", getResources().getDrawable(R.drawable.tab_home_config)).setContent(
            new Intent(this, HomeActivity.class)));
4

1 に答える 1

4

私はそれを理解しました..パディングをゼロに設定する必要があります。

for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++)
{
tabHost.getTabWidget().getChildAt(i).setPadding(0,0,0,0);
}
于 2012-08-24T06:05:06.370 に答える