2017-07-05 7 views
0

私は多くの研究をしてきましたが、実際には私の答えは見つかりませんでした。私のドロウアブルフォルダ内のシェイプxmlを使わずに、丸いエッジのボタンを作成することは可能ですか?プログラム的に丸いエッジを持つAndroid Javaボタン

私のアプリには、ユーザーの割り当てやタッチに基づいて色が変わるボタンが多数あります。これは、特定の色(約20色あり)のために私のXMLで多くの形を作成する必要があることを意味します。

または、私の形状のボタンの背景色を簡単に変更できる方法はありますか?私は私のアプリの1ページに約45のボタンがあります。

ありがとうございます!

+0

いくつかの例である描画可能なXMLの色を変更するimageView.setColorFilter(Color.RED)関数を使用することができます何百もの形。こちらをご覧ください:https://stackoverflow.com/questions/17823451/set-android-shape-color-programmatically – Opiatefuchs

答えて

0

あなたはここに

はあなたのボタンの背景を取得し、作成することなく色を変更することができ

ImageView redCircle = (ImageView) findViewById(R.id.circle_red_imageview); 
ImageView greenCircle = (ImageView) findViewById(R.id.circle_green_imageview); 
ImageView blueCircle = (ImageView) findViewById(R.id.circle_blue_imageview); 

// we can create the color values in different ways: 
redCircle.getDrawable().setColorFilter(Color.RED, PorterDuff.Mode.MULTIPLY); 
greenCircle.getDrawable().setColorFilter(0xff00ff00, PorterDuff.Mode.MULTIPLY); 
blueCircle.getDrawable().setColorFilter(getResources().getColor(R.color.blue), PorterDuff.Mode.MULTIPLY); 
関連する問題