Android - 切换按钮仅通过滑动改变状态

Posted

技术标签:

【中文标题】Android - 切换按钮仅通过滑动改变状态【英文标题】:Android - Switch button to only change state through sliding 【发布时间】:2014-02-03 13:15:14 【问题描述】:

android 的开关按钮真的很酷。我想让开关只通过滑动来改变状态。我不希望它做的是在点击开关时改变状态。我还希望能够保持漂亮的滑动动画完好无损。有人知道怎么做吗?

问候

【问题讨论】:

【参考方案1】:

您可以通过确保开关不可点击来实现此目的

 android:clickable="false"

然后添加将触摸事件传递给开关的触摸侦听器

        final Switch switch = 
                   (Switch) rootView.findViewById(R.id.lock_switch);
        if (switch != null) 
            // This combined with android:clickable="false"
            // makes this a slide only switch
            switch.setOnTouchListener(new View.OnTouchListener() 
                @Override
                public boolean onTouch(View v, MotionEvent event) 
                    switch.onTouchEvent(event);
                    return true;
                
            );
        

【讨论】:

以上是关于Android - 切换按钮仅通过滑动改变状态的主要内容,如果未能解决你的问题,请参考以下文章

Android 浮动按钮的伸缩效果

用于按钮的 Android 滑动抽屉

Android——Fragment实例精讲——底部导航栏+ViewPager滑动切换页面

android怎么查看本机号码

Android开发实战篇 ViewPager中切换及滑动切换Fragment数据保存状态

在android中动态设置状态栏颜色