iphone上有开关控件,很漂亮,其实android4.0以后也有switch控件,但是只能用在4.0以后的系统中,这就失去了其使用价值,而且我觉得它的界面也不是很好看。...下载地址:http://home.ustc.edu.cn/~voa/res/HelloJni.apk 2.原理 继承自view类,override其onDraw函数,把两个背景图(一个灰的一个红的)和一个开关图...(圆开关)通过canvas画出来;同时override其onTouchEvent函数,实现滑动效果;最后开启一个线程做动画,实现缓慢滑动的效果。... android.view.ViewGroup.LayoutParams; /** * SlideSwitch 仿iphone滑动开关组件,仿百度魔图滑动开关组件 * 组件分为三种状态... * @param srcX 滑动起始点 * @param dstX 滑动终止点 * @param duration 是否采用动画,1采用
刚开始接触开关样式的按钮是在IOS系统上面,它的切换以及滑动十分帅气,深入人心。 所谓的开关按钮,就是只有2个状态:on和off,下图就是系统IOS 7上开关按钮效果。...所以,要想看如何实现滑动切换的效果,必须了解这些控件的实现方式。下面,让我们查看下android开发文档,看看这些是如何实现使用的。...二.重写CompoundButton控件实现带滑动效果的开关按钮: 重写CompuundButton的实现可能会显得相对繁琐些,主要是考虑状态是否已经选中等情况的文字显示。 ...三.重写CheckBox控件实现带滑动效果的开关按钮: 其实,看上面给的开发文档内容,大家都可以知道,CheckBox其实就是继承CompoundButton控件的,只是重构CheckBox...四.重写View实现带滑动效果的开关按钮: 众所周知,以上所有的控件都是继承了View这个父类,所以,如果你用View去操作的话,就没有自带方法的限制,可是要满足你要 实现的SwitchButton
前言 H5站点需要IOS滑动按钮的效果,想了想似乎CSS3能搞起,就折腾出来了...挺简单的..请看注释 效果 代码 CSS3模拟IOS开关 /* ===========...=================================================================== 设置伪类,来实现模拟滑块滑动
> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root..." android:layout_width="match_parent" android:layout_height="match_parent" android:orientation...="wrap_content" android:layout_height="wrap_content" android:textOff="横向排列" android...android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff...="横向排列" android:textOn="纵向排列" android:thumb="@drawable/thumb" android:checked
1.滑动解锁代码流程图: 流程图 图片资源:https://pan.baidu.com/s/1tkcw0tdxV78mnwHqOtcAGg 提取码:2xsq 2.代码: xml文件: xmlns:app...”> android:layout_width=”match_parent” android:layout_height=”match_parent” android:scaleType=”fitXY”...” android:src=”@drawable/op_bg” android:layout_centerInParent=”true” /> android:id=”@+id/tv_alert” android...ArrayList lineTagsList; ArrayList selectedList; int tag; //保存上⼀次被点亮的点的对象 ImageView lastSelectedDot; //记录滑动的密码...手指在两个点间滑动时,两个点的tag值组成一个两位数(两个点小的tag值组成十位,大的组成个位),遍历所有的线的tag值,判断是否有与这个两位数相同的tag值,有则点亮该线。
项目里头需要用到一个在垂直方向滑动页签的效果。 具体链接 传送门 其中介绍了四五种方案,选择困难症爆发了。。。。。。...return super.onTouchEvent(swapXY(ev)); } } 这两种方法基本效果都OK,接下来是我们举一反三的阶段了,我要封装一个支持横向纵向都可以滑动的...; import android.content.res.TypedArray; import android.support.v4.view.ViewPager; import android.util.AttributeSet...="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com.../apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent
滑动解锁(Slideunlock)在之前的塞班机上可谓光茫四射,惹得一身荣耀,如今登入android市场,依然备受关注,多种解锁截屏法方式,满足不同人的需求。...软件介绍 滑动解锁(Slideunlock),一款仿Iphone又超越Iphone解锁和加锁的实用软件,华丽百变的UI,多种感应器加锁解锁功能,是您可以做到无需触碰手机即可轻松完成加锁或解锁操作。...现在作者将此软件的功能创意不断完善移植到Android系统,当前1.0的,距离感应器、重力加速感应器的加解锁功能已经被完美实现。...更新说明 1.修改了图标,细化了滑动界面。 2.增加了解锁震动反馈。 3.增加了解锁提示字体颜色设置。 4.10秒钟不解锁自动锁屏。 功能介绍 1.一键加锁浮动按钮。...关闭方法:“系统设定->位置和安全->选择设备管理器”从中取消滑动解锁对应勾选(这个应该算是个玩android的小常识吧!)
前一段时间在做项目的时候遇到了一个问题,美工在设计的时候设计的是一个iPhone中的开关,但是都知道Android中的Switch开关和IOS中的不同,这样就需要通过动画来实现一个iPhone开关了。...float mRealPos; // 图片的绘制位置 private float mBtnPos; // 按钮的位置 private float mBtnOnPos; // 开关打开的位置...private float mBtnOffPos; // 开关关闭的位置 private float mMaskWidth; private float mMaskHeight...> android="http://schemas.android.com/apk/res/android" android:...android:dependency="checkbox" android:summaryOff="off" android:summaryOn="on" android:title
Android滑动删除控件 效果展示 代码实现 静态布局 自定义一个ViewGroup,继承至FrameLayout,覆写其中的几个关键方法,用于给其中的两个子view设置布局位置。...deleteView.layout(contentViewWidth, 0, contentViewWidth + deleteViewWidth, deleteViewHeight); } 处理滑动逻辑...需要我们制定什么时候滑动,以及滑动多少。 需要把ViewGroup中受到的触摸事件传给ViewDragHelper实例。...super.onViewCaptured(capturedChild, activePointerId); } /** * 控制view在水平方向上实际滑动了多少...{ return super.getViewHorizontalDragRange(child); } /** * view滑动后的回调
之前UI交互类的东西接触的也比较少,于是把Android里面嵌套滑动相关的内容也过了一遍,在这里做一些分享。...在嵌套滑动控件的场景中,可以在Android的事件分发机制本身做一些处理,外部拦截或者内部消化触摸事件。...因为有了一次 pre-scroll 操作,我们才可以让子view在第一次执行嵌套滑动分发的时候,带上自己没有消费的距离,也就是 unconsumedY : 到这里 Android 的嵌套滑动机制就比较明了了...嵌套滚动方案的选择 有了这些接口之后,我们可以看到其实内置的Android 控件都支持了滑动嵌套,那么是否我们平时使用的方法都是正确的呢?...= STATE_DRAGGING 就成立了,这时候事件就被 CoordinatorLayout 拦截下来,内部的滑动控件就开始正常滑动。 总结 到这里,Android的嵌套滑动机制就介绍完了。
由于数据较少,如果listview滑动感觉不怎么美观,于是想要Listview禁止滑动,其实也很简单,只要拦截listview的Ontouch事件就可以了具体代码如下:`ListView lv = (ListView...: break; } return true; } });` 这样处理就能禁止listview的滑动了
mport android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory;...import android.graphics.Canvas; import android.graphics.Rect; import android.os.Handler; import android.os.Message...; import android.os.Vibrator; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent...; import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; import...滑动时 处于INVISIBLE(不可见)状态,滑动时处于VISIBLE(可见)状态 tv_slider_icon = (TextView) findViewById(R.id.slider_icon
今天和朋友聊到这个功能,刚开始的想法是自定义view,如何进行滑动监听,经过一列操作完成效果后,发现了一个贼简单的实现效果,如下(老规矩后面有可运行代码)。...效果图: 1.在布局中放入一个ScrollView,然后确保里面的内容能够达到滑动的效果 2.获取屏幕的高度 //获取屏幕高度 private float getScreenHeight
> android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height...> android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height...; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import java.util.ArrayList
Android View控件的滑动是 Android 的一个重要内容。...在 View 需要变换位置时,为其添加适当的滑动效果,获得更好的用户体验,下面来看一下怎样去实现 View 的滑动: 1、scrollBy / ScrollTo 方法: View 控件提供的两个方法...在上面的滑动中,效果是瞬间完成的,在 APP 中,这种效果会给人一种非常突兀的感觉。Scroller 类正是为了给 View 的滑动添加动画效果产生的。...View 的 computeScroll() 方法: 3、调用 startScroll(int startX, int startY, int dx, int dy)方法开始 View 的滑动,参数分别为开始的位置和横纵方向滑动的位移...成功的实现了滑动效果! 不知道小伙伴们发现没有,在这里实现的滑动都是对当前控件的全部的子 View 进行滑动,这样在一定程度上限制了滑动的灵活性。那么我们如何处理单个 View 的滑动呢?
ToggleButton是一个用一条线显示状态的按钮 Switch是开关按钮,看起来Switch更为实用,两者用法几乎一样,参见上图。
Android打开关闭手机扬声器 1.添加权限 android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 2...boolean isSpeakerOpen = true;//默认开启手机扬声器 private static int currVolume = 0;//当前音量 4.设置一个按钮的点击事件来打开关闭手机扬声器
首先自定义一个 继承自 ViewPager的自定义 类 package com.yourcompany; import android.content.Context; import android.support.v4....view.ViewPager; import android.util.AttributeSet; import android.view.MotionEvent; public class NonSwipeableViewPager...return false; } } 然后在布局文件中引入这个自定义ViewPager的XML标签 <com.yourcompany.NonSwipeableViewPager android...:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="0dp" android
外部拦截法 重写父View onInterceptTouchEvent方法就行: float latestX; float latestY; ...
通过android自定义View实现横向的滑动解锁,1、滑动到中间会自动返回到原始的位置,2、滑动到底部会自动解锁,会触发解锁的回调;首先看效果图如下: 实现以上部分一共分为三部分: 其中背景通过shape.xml...实现 滑动的锁是一张图片 文字通过Paint绘制在中间,高度可定制 主要介绍一下实现的主要部分: (1)有自定义的属性如下: (2)重写ondraw()方法,绘制文字和锁: @Overrideprotected...mLockBitmap, mLocationX, 0, mPaint); } } (3)最重要的一步是触摸事件的处理,1、当触摸屏幕是触发ACTION_DOWN事件,计算时候触摸到锁,只有当触到锁的时候才能滑动...{ mLocationX = (Float) valueAnimator.getAnimatedValue(); invalidate(); } }); anim.start(); } 这就是完成滑动解锁的主要步骤