Android UI:XMLファイルの設定ボタンなどの背景案
3437 ワード
(1)開発中、私たちはよく純色またはフレーム付きのシンプルなボタンやdivに出会います.多くの場合、九宮格の背景写真を貼っています.しかし、よく考えてみると、画像を使うのは性能上の問題があります.過剰な画像ファイルを含むと、ページをレンダリングする際に、多くの画像をロードしてレンダリングする必要があります.また、画像もインストールパッケージの増加をもたらします.最後に画像を使うのが面倒くさいので、xmlファイルを使ってもいいなら、UIDを待つ必要はありません.
(2)ボタンの文字の色は違う状態でも違っています.最初はバカで、直接コードによって動的に変えて、考えたら吐き気がします.実はこれもXMLで構成できます.
じゃ、本題に入りましょう.
注:以下はボタンに限らず、様々なビューのbackgroundにも使えます.
一)、設定ボタンの背景
Androidはshop、selectorなどに対応できます.shapeは名前の通り、枠、塗りつぶし色、角などの形を定義します.以下の例: 簡単に説明します
gradient -- 色のグラデーションに対応します.スターカラー、endカラーは多く言いませんでした. Android:angleはどの角度から変わるかを指します.
ソロ?id -- 塗りつぶし色
stoke -- 枠線のうち、widthは外枠線の幅です.
コーナーズ -- 円角を追加するかどうかは、ラジカセが円角の半径です.
padding -- コンテンツの境界からの距離を指定します.android:padding_left、android:padding_ライトこれらは同じです.
気の利いた読者は、このshopは一つの状態しか書かれていないようですが、ボタンの他の状態をどう表していますか?selectorを使わなければなりません.
selectorは名前の通りにセレクタを意味し、その状態に応じて応答を選択できるパラメータです.はい、直接コードを見せてください.多く言っても無益です.
二)、設定ボタンの色スキーム
いつもボタンの背景が深いのが常态です.ボタンを押すと背景が薄いので、この时はボタンの色も変えられます.そうでないと効果は大きく割引されます.
確かに、selectorと協力して使えばいいと思います.
じゃ、具体的にどのように活用するかということと、彼らの意味は自分で実践してみましょう.
(2)ボタンの文字の色は違う状態でも違っています.最初はバカで、直接コードによって動的に変えて、考えたら吐き気がします.実はこれもXMLで構成できます.
じゃ、本題に入りましょう.
注:以下はボタンに限らず、様々なビューのbackgroundにも使えます.
一)、設定ボタンの背景
Androidはshop、selectorなどに対応できます.shapeは名前の通り、枠、塗りつぶし色、角などの形を定義します.以下の例:
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#FFFF0000"
android:endColor="#80FF00FF"
android:angle="270" />
<padding android:left="50dp"
android:top="20dp" android:right="7dp"
android:bottom="7dp" />
<corners android:radius="8dp" />
<solid android:color="#b4000000" />
<stroke android:width="2.0dip"
android:color="#b4ffffff"
android:dashWidth="3.0dip"
android:dashGap="0.0dip" />
</shape>
gradient -- 色のグラデーションに対応します.スターカラー、endカラーは多く言いませんでした. Android:angleはどの角度から変わるかを指します.
ソロ?id -- 塗りつぶし色
stoke -- 枠線のうち、widthは外枠線の幅です.
コーナーズ -- 円角を追加するかどうかは、ラジカセが円角の半径です.
padding -- コンテンツの境界からの距離を指定します.android:padding_left、android:padding_ライトこれらは同じです.
気の利いた読者は、このshopは一つの状態しか書かれていないようですが、ボタンの他の状態をどう表していますか?selectorを使わなければなりません.
selectorは名前の通りにセレクタを意味し、その状態に応じて応答を選択できるパラメータです.はい、直接コードを見せてください.多く言っても無益です.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="#53cbff" />
<corners android:radius="3dp" />
</shape>
</item>
<item android:state_selected="true">
<shape android:shape="rectangle">
<solid android:color="#53cbff" />
<corners android:radius="3dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="#44b2ff" />
<corners android:radius="3dp" />
</shape>
</item>
</selector>
効果はもう展示されなくなります.青いボタンです.二)、設定ボタンの色スキーム
いつもボタンの背景が深いのが常态です.ボタンを押すと背景が薄いので、この时はボタンの色も変えられます.そうでないと効果は大きく割引されます.
確かに、selectorと協力して使えばいいと思います.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="#ffffff"/>
<item android:state_selected="true" android:color="#ffffff"/>
<item android:state_pressed="true" android:color="#ffffff"/>
<item android:color="#aaaaaa"/>
</selector>
使う時はandroid:textColor=「@drawable/*」でいいです.じゃ、具体的にどのように活用するかということと、彼らの意味は自分で実践してみましょう.