アプリの実行中にJavaコードで四角形(xmlで描画)の色を変更することはできますか?アプリの実行中にXMLシェイプの色を変更する
マイrectangle.xml:
によってmain.xmlに描かれ<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listview_background_shape">
<stroke android:width="2dp" android:color="#ffffff" />
<padding android:left="20dp"
android:top="20dp"
android:right="20dp"
android:bottom="20dp" />
<solid android:color="#006600" />
</shape>
:私はこの方法を試してみた
<View
android:id="@+id/myRectangleView"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:background="@drawable/rectangle"/>
:
GradientDrawable sd;
View viewrectangle;
viewrectangle = (View) findViewById(R.id.myRectangleView);
sd = (GradientDrawable) viewrectangle.getBackground();
sd.setColor(0xffffff00);
sd.invalidateSelf();
私が入れたときにのみ動作しますそれはOnCreateメソッドの内部にあります。
私はボタンでrect色を変更したいので、このコードをボタンのonClick()メソッドの中に入れます。しかし、アプリを実行しているときにボタンをクリックすると、色は変わりません。助言がありますか?
た場合を以下のいずれかの答えがあなたの問題を解決したか、それを解決するのに役立ちました。その答えの横にあるチェックマークをクリックして、それを受け入れられた回答とし、著者のクレジットを与えてください。 – Barak