我们做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滑块的更多相关文章

  1. 在iOS中怎样创建可展开的Table View?(下)

    接上篇:在iOS中怎样创建可展开的Table View?(上) 展开和合拢 我猜这部分可能是你最期望的了,因为本次教程的目标将会在在部分实现.第一次我们设法让顶层的cell,在它们点击的时候展开或者合 ...

  2. 在iOS中怎样创建可展开的Table View?(上)

    原文地址 本文作者:gabriel theodoropoulos 原文:How To Create an Expandable Table View in iOS 原文链接 几乎所有的app都有一个共 ...

  3. 一款基于jQuery可放大预览的图片滑块插件

    今天给大家分享一款基于jQuery可放大预览的图片滑块插件.这款jQuery焦点图插件的特点是可以横向左右滑动图片,并且点击图片可以进行放大预览,唯一的缺陷是这款焦点图并不能循环切换,如果你有较好的J ...

  4. 去除element-ui table表格右侧滚动条的高度

    /* //element-ui table的去除右侧滚动条的样式 */ ::-webkit-scrollbar { width: 1px; height: 1px; } /* // 滚动条的滑块 */ ...

  5. HTML table表头固定

    HTML table表头固定 说说我在最近项目中碰到的css问题吧,作为问题知识集合总结笔记: <!DOCTYPE html> <html> <head> < ...

  6. layui表单使用开关滑块和复选框,渲染后台数据方法

    提示:整个表格要在form标签内 定义开关模板 <div class="layui-form" lay-filter="layuiadmin-app-form-li ...

  7. 【原创】Python 极验滑块验证

    本文仅供学习交流使用,如侵立删! 记一次 极验滑块验证分析并通过 操作环境 win10 . mac Python3.9 selenium.seleniumwire 分析 最近在做的一个项目登录时会触发 ...

  8. 散列表(hash table)——算法导论(13)

    1. 引言 许多应用都需要动态集合结构,它至少需要支持Insert,search和delete字典操作.散列表(hash table)是实现字典操作的一种有效的数据结构. 2. 直接寻址表 在介绍散列 ...

  9. React使用antd Table生成层级多选组件

    一.需求 用户对不同的应用需要有不同的权限,用户一般和角色关联在一起,新建角色的时候会选择该角色对应的应用,然后对应用分配权限.于是写了一种实现的方式.首先应用是一个二级树,一级表示的是应用分组,二级 ...

随机推荐

  1. (转)css3实现load效果

    本文转自:https://www.cnblogs.com/jr1993/p/4625628.html 谢谢作者 注:gif图片动画有些卡顿,非实际效果! 第一种效果: 代码如下: <div cl ...

  2. 763. Partition Labels 相同字母出现在同一块中,且块数最多

    [抄题]: A string S of lowercase letters is given. We want to partition this string into as many parts ...

  3. stark组件开发之列表页面应用示例

    已经解决的,自定义的扩展函数,功能.但是 不可能返回. 一个 固定的页面把!  应该是,点击那条 记录之后的编辑, 就会跳转到相应的,编辑页面.所以 这个标签的  <a href="/ ...

  4. 【Git】 GitLab配置优化及汉化

    GitLab配置 1.修改GitLab绑定的域名 a.修改/etc/gitlab/gitlab.rb配置文件,修改成自己的域名 external_url 'http://gitlab.example. ...

  5. Android Studio导入第三方jar包或依赖工程的方法

    Android Studio导入第三方jar包或依赖工程的方法   一 导入jar包的方法 1.打开自己的工程,将需要导入的jar包copy到libs文件夹下 2.在导入的jar包处单击菜单 Add ...

  6. jenkins可选插件为空的解决方式

    我是安装的jenkins,文件名字是这个jenkins.msi,点finish安装完成,然后浏览器就自动打开了jenkins页面,输入密码后,便进入了如下页面 之后我是选择的跳过插件安装,在可选插件里 ...

  7. android activity之间用广播传输数据

    发送者: Intent intent = new Intent("com.BroadcastAction"); intent.putExtra("result" ...

  8. 第37章:MongoDB-集群--Replica Sets(副本集)---单机的搭建

    ①创建副本集 1:先创建几个存放数据的文件夹,比如在前面的dbs下面创建db1,db2,db3: 同理在前面的logs下面创建logs1,logs2,logs3 2:在启动MongoDB服务器的时候, ...

  9. 小程序json字符串转为对象

    小程序里json字符串转为对象使用JSON.parse()方法转变无效, 看报错提示有单引号“ ' ” 因为单引号而无效, 将单引号全改双引号即可. 报错如下: VM11050:1 thirdScri ...

  10. VDD,VCC,VSS,VEE,VDDA,VSSA,

    VDD是主供电电源,也是IO口输出电平的输入电源.VDDA(A表示模拟)是模拟电源,当使用到模拟信号的时候,比如AD(模数)或者DA(数模)的时候,系统会使用VDDA的电压作为参考电压来.不要求精准使 ...