** ToggleButton(버튼2개로) **
1. 프로젝트명 : ToggleCustom
2. 버튼 2개를 이용해서 ToggleButton만들기
3. 화면 :
![](https://t1.daumcdn.net/cfile/tistory/2458AA4C58739A6A37)
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> |