1

以下のようなアプリを開発しています。mainActivityで、TAB1の画像を追加しようとすると、画像がタブでいっぱいにならず、境界線が失われます。

アクティビティpicutre

黄色の部分はTAB1です。TAB1で黄色の塗りつぶしが必要です。助けていただければ幸いです:)、ありがとう

編集:

キーコードを更新します

public class MainActivity extends TabActivity implements OnTabChangeListener{

    private TabSpec ts1,ts2,ts3;//declare three page
    private TabHost tableHost;

    @override
    public void onCreate(Bundle savedInstanceState){
    super.onCreat(savedInstanceState);
    tableHost=this.getTabHost();
    LayoutInflater.from(this).inflate(R.layou.activity_main,tableHost.getTabContentView());
    ts1=tableHost.newTabSpec("Tabone");
    ts1.setIndicator("TAB1",getResources().getDrawable(R.drawable.read2));
    ts1.setContent(R.id.btn);
    ts2=tableHost.newTabSpec("Tabtwo");
    ts2.setIndicator("TAB2");
    ts2.setContent(R.id.et);
    ts3=tableHost.newTabSpec("Tabthree");
    ts3.setIndicator("TAB3");
    ts3.setContent(R.id.mylayout);
    tableHost.addTab(ts1);
    tableHost.addTab(ts2);
    tableHost.addTab(ts3);
    tableHost.setOntabChangedListener(this);
}
}
4

3 に答える 3

0

これを試して、

In this coding you should use two images that one is actual image and another one  that's you added yellow color background with your image.

tab1_mainxml://このxmlファイルはドローアブルフォルダに保存する必要があります

  <?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/tab1icon"

      android:state_selected="true"/>
    <!-- When not selected, use white-->
    <item android:drawable="@drawable/tab1icon2" />
    </selector>

タブホストアクティビティ:

        tabHost.addTab(tabHost
            .newTabSpec("Tab1")

            .setIndicator("Tab1", res.getDrawable(R.drawable.tab1_mainxml))
            .setContent(intent));
于 2012-11-20T07:46:15.763 に答える
0

アプリをエミュレーターまたは実際のデバイスで試しましたか?レイアウトに「match_parent」を設定した場合は、機能するはずです。しかし、Samsung Galaxy S3でも同様の問題が発生しました。これはハードウェアエラーであり、失敗ではない可能性があります。

編集

わかりました。xml定義なしでJavaコードを使用する場合は、タブホストのlayout-paramsを設定する必要があります。私は本当に知りません、ただの仮定です。

    tableHost = new TabHost(this);
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
            LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    tableHost.setLayoutParams(params);

しかし、LayoutParamsはたくさんあります。LinearLayout.LayoutParamsがあなたに適しているかどうかはわかりません。それが機能しない場合は、他のLayoutParamを試す必要があります。

于 2012-11-20T07:47:15.430 に答える
0

タブアイコンの作成にはAndroidAssetStudioを使用してみてください。「ネイティブタブアイコン」の外観に必要なすべてのリソースを入手できます。

于 2012-11-20T08:25:02.533 に答える