2

HTCデバイスにも、エミュレーターライトグレーでテキストが黒のスピナーがあります。Motorola Defyでは、コントロールは濃い灰色で、テキストは白です。

現在のデバイスのデフォルトのテキストの色を取得するにはどうすればよいですか?

4

2 に答える 2

1

Macarse の答えは正しい方向に進みますが、私は別の方法を使用します。

/platforms/android-X/data/res/values私はxmlファイルを見て、自分に合った色background_darkを見つけました。

最後に、次のコードを使用します。

public class MyAdapter extends ArrayAdapter<SpinnerItem> {
    // ...

    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        View v = super.getDropDownView(position, convertView, parent);
        TextView tv=(TextView)v.findViewById(android.R.id.text1);
        tv.setTextColor(Resources.getSystem().getColor(android.R.color.background_dark));
        return v;
    }
}
于 2011-11-21T11:33:58.663 に答える
1

キャリー/製造業者によって行われたすべてのカスタマイズは内部にあります:

  • android:colors
  • android:styles
  • android:themes

を使用している場合は、オブジェクトを作成してgetTextColors()TextViewを呼び出すことで、デフォルトのテキストの色を確認できます。TextView

別の可能性は、スタイルが にどのように適用されているかを確認TextViewし、メソッドを使用しgetResource()て探している正確な色を取得することです。

于 2011-11-17T12:32:19.873 に答える