Show DN: Android Toggle Switch, a customizable extension of Android Switches that supports ...

tkwz8800 8年前發布 | 14K 次閱讀 安卓開發 Android開發 移動開發

來自: https://github.com/BelkaLab/Android-Toggle-Switch

Android-Toggle-Switch

A customizable extension of Android Switches that supports also more than 2 items.

Installation

Gradle

Add Gradle dependency:

dependencies {
    compile 'us.belka:androidtoggleswitch:1.0'
}

Maven

<dependency>
  <groupId>us.belka</groupId>
  <artifactId>androidtoggleswitch</artifactId>
  <version>1.0</version>
  <type>pom</type>
</dependency>

Usage

2 Items

<belka.us.androidtoggleswitch.widgets.ToggleSwitch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        custom:textToggleLeft="OR"
        custom:textToggleRight="AND"/>

3 Items

<belka.us.androidtoggleswitch.widgets.ToggleSwitch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        custom:textToggleCenter="XOR"
        custom:textToggleLeft="OR"
        custom:textToggleRight="AND"/>

N - Items support

This can be accomplished only programmatically .

XML

<belka.us.androidtoggleswitch.widgets.ToggleSwitch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"/>

JAVA code

ToggleSwitch toggleSwitch = (ToggleSwitch) findViewById(R.id.multiple_switches);
ArrayList<String> labels = new ArrayList<>();
labels.add("AND");
labels.add("OR");
labels.add("XOR");
labels.add("NOT");
labels.add("OFF");
toggleSwitch.setLabels(labels);

NOTE: Providing a custom array of labels, the attributes textToggle[Left/Center/Right] will be ignored.

Getters and Setters

Get and set the position of the current checked ToggleSwitch.

int position = toggleSwitch.getCheckedTogglePosition();
int position = 3;
toggleSwitch.setCheckedTogglePosition(position);

Listeners

ToggleSwitch toggleSwitch = (ToggleSwitch) findViewById(R.id.toggle_switch);
toggleSwitch.setOnToggleSwitchChangeListener(new ToggleSwitch.OnToggleSwitchChangeListener(){

        @Override
        public void onToggleSwitchChangeListener(int position) {
            // Write your code ... 
        }
    });</pre> 

Customization

Attributes

It is possible to customize the buttons applying the following options:

Option Name Format Description
android:textSize dimension Text size of each button
custom:activeBgColor color Background color of the checked button
custom:activeTextColor color Text color of the checked button
custom:inactiveBgColor color Background color of the inactive buttons
custom:inactiveTextColor color Text color of the inactive buttons
custom:separatorColor color Color of the vertical separator between inactive buttons
custom:toggleWidth dimension Width of each button

Example

<belka.us.androidtoggleswitch.widgets.ToggleSwitch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        custom:activeBgColor="@android:color/holo_blue_dark"
        custom:activeTextColor="@android:color/white"
        custom:inactiveBgColor="@android:color/white"
        custom:inactiveTextColor="@android:color/black"
        custom:separatorColor="@color/gray_very_light"
        custom:textToggleCenter="APPLE"
        custom:textToggleLeft="ORANGE"
        custom:textToggleRight="BANANA"
        custom:toggleWidth="104dp"/>

Contributors

Lorenzo Rigato, Android Developer @Belka

License

Android-Toggle-Switch is Copyright (c) 2016 Belka, srl. It is free software, and may be redistributed under the terms specified in the LICENSE file.

About Belka

Belka is a Digital Agency specialized in design, mobile applications development and custom solutions. We love open source software! You can see our projects or look at our case studies.

Interested? Hire us to help build your next amazing project.

www.belka.us

</article>

 本文由用戶 tkwz8800 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!