最近在项目中使用了一个Switch控件,项目地址

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

下面是官网的例子


看着很不错。在我的练习APP中使用效果如下


使用方法及注意事项

官网上的推荐使用Gradle添加依赖compile 'us.belka:androidtoggleswitch:1.2.0' ,实际测试不可用。只能下载源码,将源码以添加模块的方式添加到自己的项目中。

源码里有一些文件没有用,最好手动清除。比如应用图标等

在layout中添加

        <belka.us.androidtoggleswitch.widgets.ToggleSwitch
            android:id="@+id/resultRange"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center" />

在java代码里添加项目

package com.jianchi.fsp.generationchildrenarithmetic;

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

import java.util.ArrayList;

import belka.us.androidtoggleswitch.widgets.ToggleSwitch;

public class MainActivity extends AppCompatActivity {

    private ToggleSwitch numberNum;
    private ToggleSwitch createCount;
    private ToggleSwitch calculationMethod;
    private ToggleSwitch resultRange;

    int[] nn = {2,3,4};
    int[] cc = {10,20,50,100};
    String[] cm = {"混合", "加法", "减法"};
    int[] rr = {10,20,50,100};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        numberNum = initToggleSwitch(R.id.numberNum, nn);
        createCount = initToggleSwitch(R.id.createCount, cc);
        calculationMethod = initToggleSwitch(R.id.calculationMethod, cm);
        resultRange = initToggleSwitch(R.id.resultRange, rr);

        numberNum.setCheckedTogglePosition(0);
        createCount.setCheckedTogglePosition(3);
        calculationMethod.setCheckedTogglePosition(0);
        resultRange.setCheckedTogglePosition(3);

        Button bt = (Button) findViewById(R.id.bt_create);
        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                GenHelper gen = new GenHelper();
                gen.numberNum = nn[numberNum.getCheckedTogglePosition()];
                gen.createCount = cc[createCount.getCheckedTogglePosition()];
                gen.calculationMethod = cm[calculationMethod.getCheckedTogglePosition()];
                gen.resultRange = rr[resultRange.getCheckedTogglePosition()];

                Intent intent = new Intent(getApplicationContext(), ShowActivity.class);
                Bundle bundle = new Bundle();
                bundle.putSerializable("gen", gen);
                intent.putExtras(bundle);
                startActivity(intent);
            }
        });
    }

    ToggleSwitch initToggleSwitch(int id, int ... msgs){
        ToggleSwitch toggleSwitch = (ToggleSwitch) findViewById(id);
        ArrayList<String> labels = new ArrayList<>();
        for(int s: msgs)
            labels.add(String.valueOf(s));
        toggleSwitch.setLabels(labels);
        return toggleSwitch;
    }
    ToggleSwitch initToggleSwitch(int id, String ... msgs){
        ToggleSwitch toggleSwitch = (ToggleSwitch) findViewById(id);
        ArrayList<String> labels = new ArrayList<>();
        for(String s: msgs)
            labels.add(s);
        toggleSwitch.setLabels(labels);
        return toggleSwitch;
    }
}

我的练习项目源码地址

https://code.csdn.net/do168/generationchildrenarithmetic



Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐