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生成层级多选组件
一.需求 用户对不同的应用需要有不同的权限,用户一般和角色关联在一起,新建角色的时候会选择该角色对应的应用,然后对应用分配权限.于是写了一种实现的方式.首先应用是一个二级树,一级表示的是应用分组,二级 ...
随机推荐
- Linux之 Ngnix
前言: WEB框架 django 大而全, 功能特别多 form表单 , ORM, 中间件 笨重,臃肿 600/s flask 轻量级的,小而精, 它使用的都是第三方模块进行拼接起来的 4988/s ...
- 50-用Python监听鼠标和键盘事件
转自:https://www.cnblogs.com/qiernonstop/p/3654021.html 用Python监听鼠标和键盘事件 PyHook是一个基于Python的“钩子”库,主要用于监 ...
- SQL Server 2000使用链接服务器
执行:安装盘\SQL2KSP4\install\instcat.sql 文件下载地址:http://download.csdn.net/detail/taomanman/5680765
- cnetos 下 rar 解压
第一步:http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz 下载 文件 或 wget http://www.rarlab.com/rar/rarli ...
- 探索未知种族之osg类生物---呼吸分解之渲染遍历一
总结 前面我们基本上已经完成对ViewerBase::frame()函数的探究,只剩下renderingTraversals()渲染遍历的探究,虽然就剩下了一个函数,但是这却是最重要的,不可少的一个步 ...
- 手机端table表格bug
table表格在手机端有一个小小的bug,就是td有一个右边线,解决办法可已给tr加一个背景色就行,或者table都行,完美解决
- 20175316盛茂淞 2018-2019-2 《Java程序设计》第3周学习总结
20175316盛茂淞 2018-2019-2 <Java程序设计>第3周学习总结 教材学习内容总结 1.1.编程语言的几个发展阶段: 面向机器语言 面向过程语言 面向对象语言 2.1.类 ...
- Linux下 刚安装完mysql 修改密码
在Centos中安装MySQL后默认的是没有root密码的,默认的是回车, 那么为了方便需要修改密码. 没有密码为MYSQL加密码: mysql -uroot -p 回车 提示输入密码,为空回车 up ...
- ABP框架系列之二十九:(Hangfire-Integration-延迟集成)
Introduction Hangfire is a compherensive background job manager. You can integrate ASP.NET Boilerpla ...
- java内存模型和垃圾回收(收藏)
java内存模型: https://www.cnblogs.com/handsomeye/p/5442879.html java垃圾回收 http://www.cnblogs.com/handsome ...