Android 实现 按钮从两边移到中间动画效果html

package org.shuxiang.test;

import android.app.Activity;

import android.os.Bundle;

import android.os.Handler;

import android.os.Looper;

import android.os.Message;

import android.util.DisplayMetrics;

import android.util.Log;

import android.view.Gravity;

import android.widget.Button;

import android.widget.LinearLayout;

import android.widget.LinearLayout.LayoutParams;

public class MainActivity extends Activity

{

private DisplayMetrics dm;

private LinearLayout layout, layoutLeft, layoutCenter, layoutRight;

private static Handler messageHandler;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

layout = new LinearLayout(this);

layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

layout.setOrientation(0); //水平

layout.setGravity(Gravity.CENTER);

layoutLeft = new LinearLayout(this);

layoutLeft.setLayoutParams(new LayoutParams(0, LayoutParams.WRAP_CONTENT));

layoutLeft.setGravity(Gravity.RIGHT);

layoutCenter = new LinearLayout(this);

layoutCenter.setLayoutParams(new LayoutParams(dm.widthPixels, LayoutParams.WRAP_CONTENT));

layoutRight = new LinearLayout(this);

layoutRight.setLayoutParams(new LayoutParams(0, LayoutParams.WRAP_CONTENT));

layoutRight.setGravity(Gravity.LEFT);

Button btA = new Button(this);

btA.setText("按钮A");

btA.setSingleLine(true);

Button btB = new Button(this);

btB.setText("按钮B");

btB.setSingleLine(true);

layoutLeft.addView(btA);

layoutRight.addView(btB);

layout.addView(layoutLeft);

layout.addView(layoutCenter);

layout.addView(layoutRight);

setContentView(layout);

Looper looper = Looper.myLooper();

messageHandler = new MessageHandler(looper);

new Thread(new Runnable()

{

@Override

public void run()

{

int speed = 5;//每次移动间隔毫秒,数字越大越慢

int speedPx = 1;//每次移动间隔像素,数字越大越快

int loopCount = dm.widthPixels/2;

int i=1;

while(i < loopCount)

{

Message message = Message.obtain();

message.what = 1;

message.arg1 = i;

messageHandler.sendMessage(message);

i = i + speedPx;

synchronized(this)

{

try

{

wait(speed);

}

catch (InterruptedException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

i=0;

while(i < 10)

{

Message message = Message.obtain();

message.what = 1;

message.arg1 = loopCount - i;

messageHandler.sendMessage(message);

i = i + speedPx;

synchronized(this)

{

try

{

wait(speed);

}

catch (InterruptedException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

}).start();

}

class MessageHandler extends Handler

{

public MessageHandler(Looper looper)

{

super(looper);

}

@Override

public void handleMessage(Message msg)

{

switch (msg.what)

{

case 1:

layoutLeft.setLayoutParams(new LayoutParams(msg.arg1, LayoutParams.WRAP_CONTENT));

layoutRight.setLayoutParams(new LayoutParams(msg.arg1, LayoutParams.WRAP_CONTENT));

layoutCenter.setLayoutParams(new LayoutParams(dm.widthPixels - msg.arg1 * 2, LayoutParams.WRAP_CONTENT));

break;

}

}

}

}

android 中间按钮突出,Android 实现 按钮从两边移到中间动画效果相关推荐

  1. Android之app引导页(背景图片切换加各个页面动画效果)

    转载:http://blog.csdn.net/lowprofile_coding/article/details/48037095 先看效果图: 1.显示三个页面的Activity  用view p ...

  2. android 自定义园动画,Android 自定View实现仿QQ运动步数圆弧及动画效果

    在之前的Android超精准计步器开发-Dylan计步中的首页用到了一个自定义控件,和QQ运动的界面有点类似,还有动画效果,下面就来讲一下这个View是如何绘制的. 1.先看效果图 2.效果图分析 功 ...

  3. ios 扇形 按钮_iOS 饼状图(扇形图)动画效果的实现

    先上效果图: 23.gif Demo在此,休得撒野!!!! 1.怎么用 /** * Pie * * @param frame frame * @param dataItems 数据源,此Demo是红. ...

  4. android陀螺仪实现背景移动demo,基于HTML5陀螺仪实现移动动画效果

    这次给大家带来基于HTML5陀螺仪实现移动动画效果,基于HTML5陀螺仪实现移动动画效果的注意事项有哪些,下面就是实战案例,一起来看一下. 最近用ofo小黄车App的时候,发现以前下方扫一扫变成了一个 ...

  5. Android仿腾讯手机管家实现桌面悬浮窗小火箭发射的动画效果

    功能分析:  1.小火箭游离在activity之外,不依附于任何activity,不管activity是否开启,不影响小火箭的代码逻辑,所以小火箭的代码逻辑是要写在服务中:  2.小火箭挂载在手机窗体 ...

  6. android筛选功能代码,Android中 TeaScreenPopupWindow多类型筛选弹框功能的实例代码

    Github地址 YangsBryant/TeaScreenPopupWindow (Github排版比较好,建议进入这里查看详情,如果觉得好,点个star吧!) 引入module allprojec ...

  7. android 矢量粒子动画,iOS CAEmitterLayer实现粒子发射动画效果

    iOS实现粒子发射动画效果图 动画效果用 CAEmitterLayer 实现.CAEmitterLayer 显示粒子发射动画,具体的粒子由 CAEmitterCell 封装.代码示例是展示 CAEmi ...

  8. android切换字体颜色,Android开发实现按钮点击切换背景并修改文字颜色的方法

    本文实例讲述了Android开发实现按钮点击切换背景并修改文字颜色的方法.分享给大家供大家参考,具体如下: 其实原理很简单,用到的是selector,用来设置android:background和an ...

  9. android 按钮 叠加,android - 叠加层按钮在Android 4.3中不起作用 - 堆栈内存溢出

    我在WindowManager.LayoutParams.TYPE_TOAST级别层上有一个带按钮的覆盖视图. 该按钮在Android 4.2中可以正常工作,但是当我在Android 4.3中运行相同 ...

最新文章

  1. ORA-12519, TNS:no appropriate service handler found
  2. python字符串可以保存在变量中吗_在python中可以从字符串变量实例化类吗?
  3. 如果你不喜欢Windows 11开始菜单,还可以用注册表换回Windows 10样式
  4. POJ - 1251(最小生成树.krustal)
  5. 《Go语言程序设计》读书笔记(七)基于共享变量的并发
  6. CISA《网络安全事件和漏洞响应手册》提到的SSVC是什么?
  7. 一个简易的C++性能分析工具
  8. angular2 --使用DecimalPipe格式化数字
  9. 手机黑屏时闪屏怎么回事_手机屏幕碎了,先别着急换!维修师傅告诉你,如何不被忽悠多花钱...
  10. ibm服务器机 安装系统安装系统安装方法,IBM服务器系统安装图解全攻略
  11. CopperCam入门手册[5]
  12. http keepalive原理
  13. 自定义 Bean 作用域
  14. office 2010 word文档,插入复选框,方框打勾(打对号)的方法
  15. Voyage自动驾驶测试场景开源文档介绍
  16. 【JavaScript】(二)俄罗斯方块
  17. vscode必备常用插件
  18. 手机号归属地,在线查询api
  19. linux 内存 参数,linux free命令参数及用法详解(linux查看内存命令)
  20. 免费分享:5本安卓开发经典书籍,Android 7编程入门经典(第4版),Android底层驱动分析和移植,底层驱动分析和移植

热门文章

  1. excel 如何快速实现绝对引用
  2. ie 6 对注释标记的一个不稳定的错误
  3. 24. Swap Nodes in Pairs
  4. 常见java相关问题
  5. 机器学习——大数据与MapReduce
  6. intellij idea (Android studio )外部程序 打开某扩展名(格式)
  7. DIY Ruby CPU 分析 Part III
  8. Linux下安装oracle报错
  9. 书评 —— 深入网站开发和运营
  10. Linux下的多线程编程