良い一日、
Android アプリケーション ビューに追加できる新しいオブジェクトを作成したい
ネットワークが接続されているかどうかに応じて、円を赤または緑で表示したいだけです。色を変更する必要があるだけで、ラジオボタンと同様の外観が必要です。
画像だけ使ったほうがいいですか?または、新しいビュー オブジェクト/コンポーネントを作成する必要がありますか? もしそうなら、どうすればそれを行うことができますか?
良い一日、
Android アプリケーション ビューに追加できる新しいオブジェクトを作成したい
ネットワークが接続されているかどうかに応じて、円を赤または緑で表示したいだけです。色を変更する必要があるだけで、ラジオボタンと同様の外観が必要です。
画像だけ使ったほうがいいですか?または、新しいビュー オブジェクト/コンポーネントを作成する必要がありますか? もしそうなら、どうすればそれを行うことができますか?
簡単なオプション: PNG 画像を使用できます。使用したい両方の色の画像が必要です。必要に応じて、PNG から 9Patch を作成できます。9Patch は、フィットするように引き伸ばすことができる画像を提供します。
次に、XML ファイルで StateList ドローアブルを使用します。Statelist drawable を使用すると、状態に応じて画像を変更できます
これは、ドローアブル フォルダー内の button_statelist.xml です。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/redbutton" />
<item android:drawable="@drawable/bluebutton" />
</selector>
state_pressed の代わりに他の状態を使用できます
レイアウト フォルダーで、ボタンを次のように定義します。
<Button
android:id="@+id/button1"
android:background="@drawable/button_statelist"
/>
これをチェックしてください:アンドロイド - ボタンスタイル
ボタン/イメージボタン/イメージビューにスタイルを適用して、背景がどのように見えるかを定義し、境界線の半径を円にすることができます。drawable フォルダーに your_style.xml として保存します。コードは次のようになります。
<shape>
<solid
android:color="#f00" />
<stroke
android:width="1dp"
android:color="#d00" />
<corners
android:radius="40dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
で形と背景色を設定しandroid:background="@drawable/your_style"
ます。(ラジオボタンの外観を得るために)追加の画像が必要な場合は、追加するだけandroid:drawableLeft="@drawable/your_overlay_image
です。