table滑块
我们做table时,常常想做一个滑块的移动效果,来让app显得更加生动,原理很简单,废话不说,直接上code
public class AnimationActivity extends AppCompatActivity {
private Button bt01, bt02, bt03, bt04;
private ImageView view;
int screenWidth;//屏幕宽度
int screenHeight;//屏幕高度
int positionView = 0;//记录滑块的位置
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_animation);
bt01 = (Button) findViewById(R.id.bt01);
bt02 = (Button) findViewById(R.id.bt02);
bt03 = (Button) findViewById(R.id.bt03);
bt04 = (Button) findViewById(R.id.bt04);
view = (ImageView) findViewById(R.id.view);
//获取屏幕宽高度
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
screenWidth = dm.widthPixels / 4;//屏幕宽度的1/4,用来设置滑块的宽度
screenHeight = dm.heightPixels;//屏幕高度,用来设置滑块的宽度
//设置滑块的宽高
ViewGroup.LayoutParams params = view.getLayoutParams();
params.height = screenHeight / 100;
params.width = screenWidth;
view.setLayoutParams(params);
bt01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//参数 1.动画目标view 2.动画移动方式 3.view出发的位置 4.view的目标位置
ObjectAnimator animator = ObjectAnimator.ofFloat(view, "translationX", positionView, 0);
animator.setDuration(300);
animator.start();
//移动后这里要把位置设置为当前的位置
positionView = 0;
}
});
bt02.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//参数 1.动画目标view 2.动画移动方式 3.view出发的位置 4.view的目标位置
ObjectAnimator animator = ObjectAnimator.ofFloat(view, "translationX", positionView, screenWidth);
animator.setDuration(300);
animator.start();
//移动后这里要把位置设置为当前的位置
positionView = screenWidth;
}
});
bt03.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//参数 1.动画目标view 2.动画移动方式 3.view出发的位置 4.view的目标位置
ObjectAnimator animator = ObjectAnimator.ofFloat(view, "translationX", positionView, screenWidth * 2);
animator.setDuration(300);
animator.start();
//移动后这里要把位置设置为当前的位置
positionView = screenWidth * 2;
}
});
bt04.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//参数 1.动画目标view 2.动画移动方式 3.view出发的位置 4.view的目标位置
ObjectAnimator animator = ObjectAnimator.ofFloat(view, "translationX", positionView, screenWidth * 3);
animator.setDuration(300);
animator.start();
//移动后这里要把位置设置为当前的位置
positionView = screenWidth * 3;
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.laoyimou.teststudio.AnimationActivity"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"> <Button
android:id="@+id/bt01"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="bt" /> <Button
android:id="@+id/bt02"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="bt" /> <Button
android:id="@+id/bt03"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="bt" /> <Button
android:id="@+id/bt04"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="bt" />
</LinearLayout> <ImageView
android:id="@+id/view"
android:layout_width="50dp"
android:layout_height="5dp"
android:background="#563265" />
</LinearLayout>
table滑块的更多相关文章
- 在iOS中怎样创建可展开的Table View?(下)
接上篇:在iOS中怎样创建可展开的Table View?(上) 展开和合拢 我猜这部分可能是你最期望的了,因为本次教程的目标将会在在部分实现.第一次我们设法让顶层的cell,在它们点击的时候展开或者合 ...
- 在iOS中怎样创建可展开的Table View?(上)
原文地址 本文作者:gabriel theodoropoulos 原文:How To Create an Expandable Table View in iOS 原文链接 几乎所有的app都有一个共 ...
- 一款基于jQuery可放大预览的图片滑块插件
今天给大家分享一款基于jQuery可放大预览的图片滑块插件.这款jQuery焦点图插件的特点是可以横向左右滑动图片,并且点击图片可以进行放大预览,唯一的缺陷是这款焦点图并不能循环切换,如果你有较好的J ...
- 去除element-ui table表格右侧滚动条的高度
/* //element-ui table的去除右侧滚动条的样式 */ ::-webkit-scrollbar { width: 1px; height: 1px; } /* // 滚动条的滑块 */ ...
- HTML table表头固定
HTML table表头固定 说说我在最近项目中碰到的css问题吧,作为问题知识集合总结笔记: <!DOCTYPE html> <html> <head> < ...
- layui表单使用开关滑块和复选框,渲染后台数据方法
提示:整个表格要在form标签内 定义开关模板 <div class="layui-form" lay-filter="layuiadmin-app-form-li ...
- 【原创】Python 极验滑块验证
本文仅供学习交流使用,如侵立删! 记一次 极验滑块验证分析并通过 操作环境 win10 . mac Python3.9 selenium.seleniumwire 分析 最近在做的一个项目登录时会触发 ...
- 散列表(hash table)——算法导论(13)
1. 引言 许多应用都需要动态集合结构,它至少需要支持Insert,search和delete字典操作.散列表(hash table)是实现字典操作的一种有效的数据结构. 2. 直接寻址表 在介绍散列 ...
- React使用antd Table生成层级多选组件
一.需求 用户对不同的应用需要有不同的权限,用户一般和角色关联在一起,新建角色的时候会选择该角色对应的应用,然后对应用分配权限.于是写了一种实现的方式.首先应用是一个二级树,一级表示的是应用分组,二级 ...
随机推荐
- 419. Battleships in a Board 棋盘上的战舰数量
[抄题]: Given an 2D board, count how many battleships are in it. The battleships are represented with ...
- tiny4412 --uboot移植(2) 点灯
开发环境:win10 64位 + VMware12 + Ubuntu14.04 32位 工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-g ...
- c#子线程线程中操作窗体更新的报错
用 在执行上传时,由于操作较长窗体界面卡住,于是用task解决 Task t1 = new Task(manage.UploadData); t1.Start(); 结果不卡了,程序也传完了,运行到更 ...
- Eigen矩阵基本运算
1 矩阵基本运算简介 Eigen重载了+,-,*运算符.同时提供了一些方法如dot(),cross()等.对于矩阵类的运算符重载只支持线性运算,比如matrix1*matrix2是矩阵相乘,当然必须要 ...
- 20170805_Elasticsearch_简介和安装
官网地址: https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html Elk 是一个可高 ...
- valgrind内存检测工具
valgrind 那点事 ---------------------------------------内存检测工具 valgrind要使用此工具,可以使用--tool=memcheck 在Valgr ...
- [Solution] JZOJ3470 最短路
[Solution] JZOJ3470 最短路 题面 Description 给定一个n个点m条边的有向图,有k个标记点,要求从规定的起点按任意顺序经过所有标记点到达规定的终点,问最短的距离是多少. ...
- 冲刺博客NO.8
今天做了什么: 多天学习后,实现了短信验证的功能,可以选择国家,可以在Mob的后台管理短信验证 遇到的困难: 注册回调事件,afterEvent的判定(事件完成后调用)
- ZZ:git只clone仓库中指定子目录和指定文件的实现
原文链接: http://blog.csdn.net/xuyaqun/article/details/49275477 git目前唯一不能实现的是:不能像svn那样,针对子目录设置权限,这与git分布 ...
- WCF学习笔记一之通过配置web.config可以通过http访问接口
一.准备 这里涉及到三个文件,现在只是简单的把代码贴出来,后面再详细的讲一下. 三个文件分别是(都是wcf服务应用程序项目下的): 1.IService1.cs 2.Service1.svc 3.We ...