[解決済み] プログラムで角を丸くし、ランダムな背景色を設定する方法
2022-05-26 14:48:19
質問
ビューの角を丸くし、実行時に内容に応じてビューの色も変えたいのですが、可能でしょうか?
TextView v = new TextView(context);
v.setText(tagsList.get(i));
if(i%2 == 0){
v.setBackgroundColor(Color.RED);
}else{
v.setBackgroundColor(Color.BLUE);
}
v.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
v.setPadding(twoDP, twoDP, twoDP, twoDP);
v.setBackgroundResource(R.drawable.tags_rounded_corners);
drawableの設定と色の設定が重なることを期待していたのですが、重なりません。私が2番目に実行したものが、結果として得られる背景です。
背景色が実行時まで決定されないことを念頭に置いて、このビューをプログラムで作成する方法はありますか?
edit: 今はテストのために赤と青を切り替えているだけです。後でユーザーが色を選べるようにする予定です。
を編集してください。
tags_rounded_corners.xmlを参照してください。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners
android:bottomRightRadius="2dp"
android:bottomLeftRadius="2dp"
android:topLeftRadius="2dp"
android:topRightRadius="2dp"/>
</shape>
どのように解決するのですか?
の代わりに
setBackgroundColor
の代わりに、背景のdrawableを取得し、その色を設定します。
v.setBackgroundResource(R.drawable.tags_rounded_corners);
GradientDrawable drawable = (GradientDrawable) v.getBackground();
if (i % 2 == 0) {
drawable.setColor(Color.RED);
} else {
drawable.setColor(Color.BLUE);
}
また、パディングは
tags_rounded_corners.xml
:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="4dp" />
<padding
android:top="2dp"
android:left="2dp"
android:bottom="2dp"
android:right="2dp" />
</shape>
関連
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
[解決済み] ImageViewの幅と高さをプログラムで設定する?
-
Android のパッケージングに失敗し、Android リソースのリンクに失敗したことを示すプロンプトが表示される
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] CSS画像を背景で伸縮させる - CSSのみで可能
-
[解決済み] 角丸のImageViewを作るには?
-
[解決済み] ボタンの角を丸くするには?
-
[解決済み】layout_gravityをプログラムで設定する方法は?
-
[解決済み】Androidでプログラム的に背景を描画可能にする方法
-
[解決済み】AndroidのボタンにdrawableLeftをプログラム的に設定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Android端末にADBが接続できない!を解決。理由: デバイスが認証されていない!
-
java.lang.NullPointerException: NULLオブジェクト参照で仮想メソッド......を呼び出そうとしました。
-
アンドロイドスタジオでJunitのエラー問題を解決する
-
アプリケーションがメインスレッドで過剰に作業している可能性があります。
-
android exception - aapt.exe has stopped working.
-
アンドロイドのエリプサイズを使用する
-
Android ProgressBarの色を変更する
-
Androidカスタムドロップダウンリストボックスコントロール
-
アプリの実行エラー。ターゲットデバイスが見つからない問題
-
Android studio 制約レイアウト ConstraintLayout