0

私のImageViewアプリには、ユーザーが変更できるドローアブルとそのTextView上に黒が付いたがあります。ユーザーがこの画像を黒の背景の画像に変更すると、テキストを表示できなくなります。

R.drawable.imageAテキストを別の色に設定できるように、画像リソースがそうであるかどうかをどのように識別できますか?

のタグを設定することを考えましたImageViewが、気になるオプションが2つしかない場合は、オプションごとにタグを設定する必要があります。

私は試した:

if (imageview.getDrawable.equals(R.drawable.imageA)) {
    textView.setText(Color.WHITE);
    }

で試しましgetResourceたが、どちらも機能しませんでした。

4

3 に答える 3

0

できません。自分で保存して比較に使用するか、ImageViewを拡張してその機能を内部に埋め込む必要があります(つまり、getDrawableId()を追加することにより)

于 2012-11-09T00:14:33.633 に答える
0
  1. ユーザーが画像を選択できるダイアログボックス/選択メカニズムをユーザーに提供しますか?

  2. 上記の答えが「はい」の場合、これは、アプリケーション内でこの決定をキャプチャし、TextViewの色を変更できる場所です。

  3. 1の答えが「いいえ」の場合、ユーザーはアプリケーション内でどのように画像を変更しますか?

あなたの場合、あなたはまたあなたの目標を達成するために反射を使うことができるかもしれません。たとえば、このスレッド-> Androidを見て、文字列からリソースIDを取得しますか?

後で追加:

真に一般化されたソリューションの場合、ImageView自体を調べて、表示するのに最適な色を決定することをお勧めします。これは、このスレッドで実証されています。 読みやすさを確保するためにテキストの色を自動的に変更します

于 2012-11-09T00:26:38.737 に答える
0

WebnetMobile.comの回答とは別に、現在表示されている画像に関連する変数を設定することもできます。

IE。起動時:

boolean isImageA = true;

そして、背景を変更するイベントがトリガーされたら、それをfalseに変更します。その後、あなたがしなければならないのは、それが真か偽かをチェックすることです。

于 2012-11-09T00:27:07.770 に答える