7

OK、というカスタムビューを作成しようとしていますCheckedRelativeLayout

目的は、と同じで、CheckedTextView選択したいアイテムのリストまたはで使用できるようにすることですSpinner

今はすべて正常に機能しています。インターフェイスを拡張RelativeLayoutして実装しました。Checkable

しかし、私は非常に単純な問題に悩まされています。それをどこで見つけて使用Drawableできるのでしょうか。CheckedTextViewRadioButton

両方のソースコードを調べたところ、を使用しているようですcom.android.internal.R。ええと...それは内部的なものです。だからアクセスできません。

これらのドローアブルを入手したり、何らかの方法で問題を解決したりする方法はありますか?

4

3 に答える 3

13

SDKフォルダー/platforms/android-2.0/data/res/の下を見て、android.R.drawable(パブリックの場合)からアクセスするか、プロジェクトにドローアブルとしてコピーする必要があります。

于 2010-05-04T18:44:19.870 に答える
5

完全を期すために:

ここに、上記の受け入れられた答えでどのように機能させたかを示すいくつかのコードがあります。

 //Image Setup (Once when creating this view)
 ImageView indicator = (ImageView) findViewById(R.id.RadioStatusImage);
 indicator.setImageDrawable(getResources().getDrawable(android.R.drawable.btn_radio));

 //State Change (In some other method)
  android.R.attr.state_checked
  if (isChecked)
  {
     indicator.setImageState(android.R.attr.state_checked, false);
  }
  else
  {
     indicator.setImageState(View.ENABLED_STATE_SET, false);
  }
  invalidate();
于 2010-05-04T19:32:36.977 に答える
2

新しいデフォルトのアニメーションラジオボタンドローアブルを使用するには、正解は@sidonのコメントにあります。

?android:attr/listChoiceIndicatorSingle

テキストを基準にしたカスタム位置でこれを使用する:

<RadioButton
    ...
    android:gravity="center_horizontal|bottom"
    android:drawableTop="?android:attr/listChoiceIndicatorSingle"
    android:button="@null"
    />
于 2019-08-24T14:47:16.343 に答える