'[Android] - 위젯.소스/Button'에 해당되는 글 1건

  1. 2017.01.09 ToggleButton(버튼2개로)

** ToggleButton(버튼2개로) **

 

 

1. 프로젝트명 : ToggleCustom

2. 버튼 2개를 이용해서 ToggleButton만들기

3. 화면 :

       

 

4. 안드로이드 버전

     - 스튜디오 : v2.2.3

     - Minumum SDK : API 19:Android 4.4. (KitKat)

 

5. 소스목록

   1. MainActivity.java 
   2. activity_main.java
   3. drawable/selector_btn_left.xml                    : 왼쪽 버튼 선택 시
   4. drawable/selector_btn_right.xml                 : 오른쪽 버튼 선택 시
   5. drawable/selector_buttons_text.xml            : 선택된 버튼
   6. drawable/shape_btn_unselected_left.xml   : 왼쪽 버튼 미 선택 시
   7. drawable/shape_btn_unselected_right.xml : 오른쪽버튼 미 선택 시
   8. values/colors.xml                                       : color
 

6. 소스

 

 1. MainActivity.java 

 

package com.example.farmer.togglecustom;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    Button test1Button;
    Button test2Button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        test1Button = (Button)findViewById(R.id.test1_button);
        test2Button = (Button)findViewById(R.id.test2_button);

        test1Button.setOnClickListener(topButtonsListener);
        test2Button.setOnClickListener(topButtonsListener);
        test1Button.performClick();  //첫번째 버튼을 눌린 효과를 줌
    }

    View.OnClickListener topButtonsListener  = new View.OnClickListener(){
        @Override
        public void onClick(View view) {
            if (view.getId() == R.id.test1_button){
                test1Button.setSelected(true);
                test2Button.setSelected(false);
            }
            else{
                test1Button.setSelected(false);
                test2Button.setSelected(true);
            }
        }
    };


}

 

 

  2. activity_main.java

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.farmer.togglecustom.MainActivity">

        <Button
            android:id="@+id/test1_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:layout_weight="1"
            android:textColor="@color/selector_buttons_text"
            android:background="@drawable/selector_btn_left"
            android:text="Test 1"/>

        <Button
            android:id="@+id/test2_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="20dp"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:textColor="@color/selector_buttons_text"
            android:background="@drawable/selector_btn_right"
            android:text="Test 2"
            android:layout_weight="1"/>


</LinearLayout>

 

 

 

  3. drawable/selector_btn_left.xml

 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@color/gen_app_color" android:state_pressed="true" />
    <item android:drawable="@color/gen_app_color" android:state_selected="true" />
    <item android:drawable="@drawable/shape_btn_unselected_left" />
</selector>

 

 

 

  4. drawable/selector_btn_right.xml

 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@color/gen_app_color" android:state_pressed="true" />
    <item android:drawable="@color/gen_app_color" android:state_selected="true" />
    <item android:drawable="@drawable/shape_btn_unselected_right" />
</selector>

 

 

 

  5. drawable/selector_buttons_text.xml

 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="@android:color/white" />
    <item android:state_pressed="true" android:color="@android:color/white" />
    <item android:color="@color/gen_app_color"/>
</selector>

 

 

 

  6. drawable/shape_btn_unselected_left.xml

 

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item >
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white"/>
            <stroke android:width="5px" android:color="#337799" />
        </shape>
    </item>
    <item android:left="5dp"
        android:top="2dp"
        android:bottom="2dp">
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF" />
        </shape>
    </item>
</layer-list>

  

 

  7. drawable/shape_btn_unselected_right.xml

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>

    <color name="gen_app_color">#40ffe6</color>
    <color name="selector_buttons_text">#ff404a</color>
</resources>

 

 

  8. values/colors.xml

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>

    <color name="gen_app_color">#40ffe6</color>
    <color name="selector_buttons_text">#ff404a</color>
</resources>

 

 

Posted by 농부지기
,