Android UI:XMLファイルの設定ボタンなどの背景案

3437 ワード

(1)開発中、私たちはよく純色またはフレーム付きのシンプルなボタンやdivに出会います.多くの場合、九宮格の背景写真を貼っています.しかし、よく考えてみると、画像を使うのは性能上の問題があります.過剰な画像ファイルを含むと、ページをレンダリングする際に、多くの画像をロードしてレンダリングする必要があります.また、画像もインストールパッケージの増加をもたらします.最後に画像を使うのが面倒くさいので、xmlファイルを使ってもいいなら、UIDを待つ必要はありません.
    (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/*」でいいです.
    じゃ、具体的にどのように活用するかということと、彼らの意味は自分で実践してみましょう.