本节给大家介绍的Android基本UI控件是:开关按钮ToggleButton和开关Switch,那七个实际都是开关组件,只是后者需求在Android
4.0现在才能应用 所以AndroidManifest.xml文件中的minsdk须求 >= 1肆不然会报错~,先来探视那多少个控件长什么样样先, Android
伍.0后那四个控件比较从前来说美观了广大,先看下伍.0前的楷模:

5.0以前的ToggleButton和Switch:XML 1XML 2 

 

5.0版本:XML 3

好呢,显然的相比…接下来大家就来学习者多个控件的行使啊,其实八个的采纳大概是一模一样的。

开首此前贴下官方API先:SwitchToggleButton

一.核心性格讲解:

一)ToggleButton(开关按钮)

可供大家设置的性子:

  • android:disabledAlpha:设置按钮在禁止使用时的光滑度
  • android:textOff:按钮未有被入选时显得的文字
  • android:textOn:按钮被选中时显得的文字
    其它,除了这么些大家还足以本身写个selector,然后设置下Background属性即可~

2) Switch(开关)

可供大家设置的性质:

  • android:showText:设置on/off的时候是或不是出示文字,boolean
  • android:splitTrack:是否设置1个空闲,让滑块与底部图片分隔,boolean
  • android:switchMinWidth:安装开关的纤维宽度
  • android:switchPadding:设置滑块内文字的间隔
  • android:switchTextAppearance:设置开关的文字外观,权且没发现有哪些用…
  • android:textOff:按钮没有被入选时展示的文字
  • android:textOn:按钮被入选时显得的文字
  • android:textStyle:文字风格,粗体,斜体写划线那二个
  • android:track:底层的图样
  • android:thumb:滑块的图片
  • android:typeface:设置字体,暗中同意支持那三种:sans, serif,
    monospace;除此以外还足以采取其余字体文件(*.ttf),首先要将字体文件保存在assets/fonts/目录下,可是必要在Java代码中装置: Typeface
    typeFace
    =Typeface.createFromAsset(getAssets(),”fonts/HandmadeTypewriter.ttf”);
    textView.setTypeface(typeFace);

贰.应用示例:

因为相比较简单,所以我们把他们写到壹起,此外,大家为Switch设置下滑块和底部的图片,实现一个像样于IOS
柒的滑块的效应,可是有个缺陷正是不能在XML中对滑块和底部的大小举办设置,
就是材料多大,Switch就会多大,大家能够在Java中赢得Drawable对象,然后对大小举行修改,
简单的例证:

运行效果图:

XML 4

完结代码: 先是多个drawable的文件: thumb_selctor.xml:

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

track_selctor.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/switch_btn_bg_green"/>
    <item android:state_checked="false" android:drawable="@drawable/switch_btn_bg_white"/>
</selector>

布局文件:activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <ToggleButton
        android:id="@+id/tbtn_open"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true"
        android:textOff="关闭声音"
        android:textOn="打开声音" />

    <Switch
        android:id="@+id/swh_status"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textOff=""
        android:textOn=""
        android:thumb="@drawable/thumb_selctor"
        android:track="@drawable/track_selctor" />

</LinearLayout>

MainActivity.java:

public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener{

    private ToggleButton tbtn_open;
    private Switch swh_status;

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

        tbtn_open = (ToggleButton) findViewById(R.id.tbtn_open);
        swh_status = (Switch) findViewById(R.id.swh_status);
        tbtn_open.setOnCheckedChangeListener(this);
        swh_status.setOnCheckedChangeListener(this);
    }

    @Override
    public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
        switch (compoundButton.getId()){
            case R.id.tbtn_open:
                if(compoundButton.isChecked()) Toast.makeText(this,"打开声音",Toast.LENGTH_SHORT).show();
                else Toast.makeText(this,"打开声音",Toast.LENGTH_SHORT).show();
                break;
            case R.id.swh_status:
                if(compoundButton.isChecked()) Toast.makeText(this,"开关:ON",Toast.LENGTH_SHORT).show();
                else Toast.makeText(this,"开关:OFF",Toast.LENGTH_SHORT).show();
                break;

        }
    }
}

 

小说参考自:http://www.runoob.com/w3cnote/android-tutorial-togglebutton-switch.html

相关文章

网站地图xml地图