2016-06-11 2 views
0

いくつかのプロパティを持つボタンを作成したいと思います。任意のフォームのボタンをプログラムで作成するにはどうすればよいですか?

  1. フォーム、色、配置は任意です。
  2. これらのパラメータは、タッチ
  3. 私は CanvasDrawonTouchEventを使用しよう

にその色を変えることができるアプリケーション

  • ボタンで変更することができます。しかし、よりシンプルで速いアプローチが存在するのだろうか?助けてください。ありがとうございました!

  • 答えて

    0

    ボタンの状態を作成するには、次のようなxmlファイルを使用できます。

    このxmlファイルをプロジェクトのドロウアブルフォルダにコピーするだけです(例:custom_button.xml)。

    <?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="#00ff00" /> 
         <stroke 
          android:width="5dp" 
          android:color="#ff0000" 
          android:dashWidth="3dp" 
          android:dashGap="2dp" /> 
        </shape> 
    </item> 
    
    <item android:state_focused="true" > 
        <shape> 
         <gradient 
          android:endColor="#ffffff" 
          android:centerColor="#ffffff" 
          android:startColor="#ffffff" 
          android:angle="270" /> 
         <stroke 
          android:width="3dp" 
          android:color="#00ff00" /> 
         <corners 
          android:radius="5dp" /> 
         <padding 
          android:left="10dp" 
          android:top="10dp" 
          android:right="10dp" 
          android:bottom="10dp" /> 
        </shape> 
    </item> 
    
    <item>   
        <shape> 
         <gradient 
          android:endColor="#ffffff" 
          android:centerColor="#ffffff" 
          android:startColor="#ffffff" 
          android:angle="270" /> 
         <stroke 
          android:width="5dp" 
          android:color="#00ff00" /> 
         <corners 
          android:radius="5dp" /> 
        </shape> 
    </item> 
    

    とあなたのonCreateメソッド

    LinearLayout layout = (LinearLayout) findViewById(R.id.linear_layout_tags); 
    
         //set the properties for button 
         Button btnTag = new Button(this); 
         btnTag.setLayoutParams(new ActionBar.LayoutParams(ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT)); 
         btnTag.setText("Button"); 
         btnTag.setId(some_random_id); 
         btnTag.setBackground(getResources().getDrawable(R.drawable.custom_button)); 
    
    +0

    内のコードを次のようにあなたのレイアウトでそれを参照いただき、ありがとうございます、私はあまりにも形式を変更したいです。たとえば、ピザの部分からスターまで。 –

    関連する問題