質問

Androidアプリでは、特別なカスタマイズなしでTabWidgetを使用しています。 Androidに特定の外観の世話をしたいと思います。たとえば、Android 1.6を2.1と比較する場合は正常に機能します。 Tabwidgetを使用するだけで、同じコードが異なる形式のタブにつながります。SDKは描画方法を定義しているためです。たとえば、2.1でどのように見えるかは次のとおりです。

alt text

したがって、強調表示されたタブは灰色で、フォントは白で、かなりよく読むことができます。

しかし、HTCセンスがある場合、それは次のように見えます:alt text

写真はそれほど良くありませんが、白い背景の白いテキストであると信じています。

私の質問は次のとおりです。

1)なぜAndroidは白いテキストに白でTabwidgetを作成するのですか?テキストの色や背景色を定義したことはないので、システムは賢明な色を選択することになっています。

2)他のTabWidgetはHTCセンスではうまく見えると思います。それで、なぜ私のTabwidgetはこの問題を抱えていて、他の問題ではありません。

3)非センスデバイスの外観を変更せずにこの問題を修正するにはどうすればよいですか?

私が言ったように、私は何らかの形でTabWidgetをカスタマイズしませんでした。これが私の定義です:

<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="@android:color/black"
    >
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >

        <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"
            android:padding="0dp"
            >
      <ScrollView 
            android:id="@+id/shortenerScrollView"
            android:layout_height="fill_parent" 
            android:layout_width="fill_parent"
            android:background="@android:color/black"
            android:fadingEdge="horizontal"
            >

したがって、アプリの私の一般的な背景色として黒を定義することに加えて、色やスタイルの定義は行われません。唯一の例外は、TabhostとTabwidgetに標準のAndroid IDを使用していることです。

/編集:OnCreateメソッドのタブの定義は次のとおりです。

th = getTabHost();
th.addTab(th.newTabSpec("shortener").setIndicator(getString(R.string.tabShortenerName),
        res.getDrawable(R.drawable.url_zip)).setContent(R.id.shortenerScrollView));

クラスはタバアクティブを拡張します。

/編集2:White on White Textに登場するデバイスは、Android 2.1を実行しているHTC凡例です。

/編集3:Dream3Rは正しかった。 TargetSDKの値を4に変更することも、私にとってトリックを行いました(以前は6に設定されていました)!私は本当にそれを手に入れませんが、私は今のところそれと一緒に暮らすことができます。 :)

これが今の見た目の写真です:alt text

役に立ちましたか?

解決

ありますか android:targetSdkVersion あなたに設定します AndroidManifest.xml?

サンプルアプリケーションを使用してテストを行いましたが、設定した場合も同じ問題があります targetSdkVersion より大きい値に 4.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top