最近的项目里用到了,在网上找不到合适的,于是自己写了个简单的,带回弹效果:
可以自定义的属性有:
<!-- 滑动解锁控件 xml配置属性 --> <declare-styleable name="SlideToUnlockView"> <attr name="slideImageViewWidth" format="dimension"/><!-- 滑块宽度 --> <attr name="slideImageViewResId" format="reference"/><!-- 滑块资源id --> <attr name="slideImageViewResIdAfter" format="reference"/><!-- 滑动到右边时,滑块资源id --> <attr name="viewBackgroundResId" format="reference"/><!-- 背景资源id --> <attr name="textHint" format="string"/><!-- 文本内容 --> <attr name="textSize" format="integer"/><!-- 文本字号 --> <attr name="textColorResId" format="color"/><!-- 文本字色 --> <attr name="slideThreshold" format="float"/><!-- 滑动阈值,默认是0.5,当右滑距离不满整个控件宽度的0.5,就会回弹至左边 --> </declare-styleable>
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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" xmlns:chuck="http://schemas.android.com/apk/res-auto" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.qdong.slidetounlockdemo.MainActivity"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/relativeLayout"> <!-- chuck:textSize="14sp" chuck:textColorResId="@color/colorWhite"--> <com.qdong.slide_to_unlock_view.CustomSlideToUnlockView android:id="@+id/slide_to_unlock" android:layout_width="match_parent" android:layout_height="50dp" chuck:viewBackgroundResId="@drawable/shape_round_normal_green" chuck:slideImageViewWidth="@dimen/slide_width" chuck:slideImageViewResId="@mipmap/icon_slide" chuck:slideImageViewResIdAfter="@mipmap/ic_launcher" chuck:slideThreshold="0.5" chuck:textSize="6" chuck:textHint="@string/hint" chuck:textColorResId="@color/colorWhite" > </com.qdong.slide_to_unlock_view.CustomSlideToUnlockView> </RelativeLayout> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="reset" android:id="@+id/button" android:layout_below="@+id/relativeLayout" android:layout_centerHorizontal="true" android:layout_marginTop="150dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv_text" android:text="slide distance:" android:layout_alignBottom="@+id/button" android:layout_centerHorizontal="true" android:layout_marginBottom="60dp"/> </RelativeLayout>
MainActivity:
public class MainActivity extends AppCompatActivity {
private com.qdong.slide_to_unlock_view.CustomSlideToUnlockView mCustomSlideToUnlockView;
private TextView tv_text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mCustomSlideToUnlockView= (com.qdong.slide_to_unlock_view.CustomSlideToUnlockView) findViewById(R.id.slide_to_unlock);
tv_text= (TextView) findViewById(R.id.tv_text);
CustomSlideToUnlockView.CallBack callBack=new CustomSlideToUnlockView.CallBack() {
@Override
public void onSlide(int distance) {
tv_text.setText("slide distance:"+distance);
}
@Override
public void onUnlocked() {
tv_text.setText("onUnlocked");
}
};
mCustomSlideToUnlockView.setmCallBack(callBack);
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mCustomSlideToUnlockView.resetView();
}
});
}
}
下载地址:
https://github.com/506954774/AndroidCustomSlideToUnlockView
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android
# 滑动解锁
# Android自定义控件实现可左右滑动的导航条
# Android控件之SlidingDrawer(滑动式抽屉)详解与实例分享
# Android开源堆叠滑动控件仿探探效果
# Android自定义控件ScrollView实现上下滑动功能
# Android实现可滑动的自定义日历控件
# Android控件SeekBar仿淘宝滑动验证效果
# Android自定义View实现随手势滑动控件
# Android仿微信列表滑动删除之可滑动控件(一)
# Android自定义控件实现滑动开关效果
# Android自定义双向滑动控件
# 滑块
# 就会
# 下载地址
# 找不到
# 写了
# 自定义
# 大家多多
# 解锁
# 里用
# 在网上
# version
# encoding
# xmlns
# RelativeLayout
# utf
# activity_main
# color
# textColorResId
# integer
# slideThreshold
相关文章:
如何用PHP快速搭建高效网站?分步指南
如何通过PHP快速构建高效问答网站功能?
如何注册花生壳免费域名并搭建个人网站?
C++如何编写函数模板?(泛型编程入门)
建站之星如何助力网站排名飙升?揭秘高效技巧
股票网站制作软件,网上股票怎么开户?
如何配置FTP站点权限与安全设置?
如何高效利用亚马逊云主机搭建企业网站?
如何通过可视化优化提升建站效果?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
公司门户网站制作流程,华为官网怎么做?
上海网站制作开发公司,上海买房比较好的网站有哪些?
如何用y主机助手快速搭建网站?
如何配置WinSCP新建站点的密钥验证步骤?
,石家庄四十八中学官网?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
,网页ppt怎么弄成自己的ppt?
c# 在ASP.NET Core中管理和取消后台任务
如何快速查询域名建站关键信息?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
广德云建站网站建设方案与建站流程优化指南
兔展官网 在线制作,怎样制作微信请帖?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
C#如何序列化对象为XML XmlSerializer用法
网站制作报价单模板图片,小松挖机官方网站报价?
如何高效完成独享虚拟主机建站?
如何在宝塔面板中修改默认建站目录?
如何在万网自助建站中设置域名及备案?
建站主机CVM配置优化、SEO策略与性能提升指南
h5在线制作网站电脑版下载,h5网页制作软件?
如何通过山东自助建站平台快速注册域名?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
如何在Golang中指定模块版本_使用go.mod控制版本号
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
如何在七牛云存储上搭建网站并设置自定义域名?
如何制作算命网站,怎么注册算命网站?
网站制作免费,什么网站能看正片电影?
定制建站哪家更专业可靠?推荐榜单揭晓
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
文字头像制作网站推荐软件,醒图能自动配文字吗?
网站app免费制作软件,能免费看各大网站视频的手机app?
如何快速选择适合个人网站的云服务器配置?
如何零基础开发自助建站系统?完整教程解析
网站制作需要会哪些技术,建立一个网站要花费多少?
如何登录建站主机?访问步骤全解析
*请认真填写需求信息,我们会在24小时内与您取得联系。