过年怎么可以不玩红包娱乐一下呢,微信里的摇骰子大小和石头剪刀布就是不错的游戏方式。

使用java的random函数很容易实现,以骰子为例:

1.骰子摇动的动画,使用animation-list帧动画实现

2.生成1~6的随机数,1 + new random().nextint(6)

以下是代码实现,文末提供图片资源下载:

package com.zms.dicedemo;

import java.util.random;

import android.app.activity;

import android.graphics.drawable.drawable;

import android.os.bundle;

import android.os.handler;

import android.os.message;

import android.view.view;

import android.widget.button;

import android.widget.imageview;

import android.widget.toast;

public class mainactivity extends activity {

private imageview imagedice;

private button btngo;

@override

protected void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_main);

initiallayout();

}

private void initiallayout() {

imagedice = (imageview) findviewbyid(r.id.imagedice);

btngo = (button) findviewbyid(r.id.btngo);

btngo.setonclicklistener(new myonclicklistener());

}

class myonclicklistener implements view.onclicklistener {

@override

public void onclick(view v) {

switch (v.getid()) {

case r.id.btngo:

imagedice.setimagedrawable(getresources().getdrawable(

r.drawable.anim_dice));

new thread(new dicethread()).start();

break;

default:

break;

}

}

}

public class dicethread implements runnable {

@override

public void run() {

try {

thread.sleep(2000);

} catch (interruptedexception e) {

e.printstacktrace();

}

message messagedice = new message();

messagedice.what = 1;

dicehandler.sendmessage(messagedice);

}

}

private void resetdiceimage() {

int randomint = 1 + new random().nextint(6); // 1~6

toast.maketext(mainactivity.this, getchinesebynumber(randomint),

toast.length_short).show();

imagedice.setimagedrawable(getresources().getdrawable(

getresources().getidentifier("dice_" + randomint, "drawable",

getpackagename())));

}

private string getchinesebynumber(int number) {

switch (number) {

case 1:

return "一点小";

case 2:

return "二点小";

case 3:

return "三点小";

case 4:

return "四点大";

case 5:

return "五点大";

case 6:

return "六点大";

default:

return "";

}

}

final handler dicehandler = new handler() {

public void handlemessage(android.os.message msg) {

switch (msg.what) {

case 1:

resetdiceimage();

break;

default:

break;

}

}

};

}

random生成的虽然是伪随机数,但是在娱乐对安全性要求不高,还是可以使用的。

实现方式比较简单,以下是工程下载链接:android微信摇骰子

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

android摇骰子动画,Android实现微信摇骰子游戏相关推荐

  1. Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析

    一.前言 在之前的一篇文章中我们已经详细介绍了Android中Hook工作的一款神器Xposed工具:Xposed框架原理解析和使用案例分析 在那一篇文章中我们介绍了如何安装Xposed框架,以及如何 ...

  2. Android”挂逼”修炼之行—微信摇骰子和猜拳作弊器原理解析

    .猜想假设 本文就借助之前的Xposed框架来介绍如何编写微信的一个外挂功能,这个功能就是微信摇色子和剪刀石头布的作弊器,我们用过微信这个功能都知道,是一个比较常用的功能,因为在一个群聊中会很无聊就来 ...

  3. Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析 (转载)

    该文章是我觉得当中的逆向方式以及使用工具的方式非常值得学习,转载只为记录下来,若侵则删. 一.前言 在之前的一篇文章中我们已经详细介绍了Android中Hook工作的一款神器Xposed工具:Xpos ...

  4. android 清理缓存动画,Android仿微信清理内存图表动画(解决surfaceView屏幕闪烁问题)demo实例详解...

    最近接了一个项目其中有功能要实现一个清理内存,要求和微信的效果一样.于是想到用surfaceView而不是继承view.下面小编给大家解析下实现思路. surfaceView是为了解决频繁绘制动画产生 ...

  5. android 雷达搜索动画,Android实现微信雷达辐射搜索好友实例(逻辑清晰实现简单)...

    Android仿微信雷达扫描,仿安卓微信.云播雷达扫描动画效果点击中间的黑色圆圈开始扫描动画,再次点击复位,需要这种效果的朋友快点收藏了吧. 效果图如下: 这个界面大家肯定都非常熟悉了,下面来说一下原 ...

  6. android tab 切换动画,Android之ViewPager+TabLayout组合实现导航条切换效果(微信和QQ底部多标签切换)...

    前言 之前在另外一篇中用Fragment和button实现了点击切换Fragment的效果,比较简陋.这次改用ViewPager+TabLayout 实现联动的效果. 实现效果 ViewPager 多 ...

  7. android开发骰子动画,Android实现掷骰子效果

    本文实例为大家分享了Android实现掷骰子效果的具体代码,供大家参考,具体内容如下 利用handler接受子线程的消息完成骰子点数的不断更替 演示 START:开始游戏 STOP:停止游戏 RECO ...

  8. android 缩放透明动画,Android之高仿QQ6.6.0侧滑效果(背景动画、透明+沉浸式状态栏、渐变效果)...

    根据需求实现类似QQ侧滑效果,之前看到过很多实现方式通过SlidingMenu,但是既然官方推出了自己的专属控件,那么使用DrawerLayout就是不二选择.且看下文. 一.先来看看官方文档解释 D ...

  9. android 图片查看动画,Android 共享动画实现点击列表图片跳转查看大图页面

    主要内容使用系统提供的 API 实现共享动画 在实现过程中遇到的问题图片点击和关闭之后会出现短暂的黑屏问题实现的动画效果如下: 共享动画.gif 具体实现这个效果是在两个页面之间的切换动画,既然是两个 ...

  10. Android实现蝴蝶动画,Android中的动画具体解释系列——飞舞的蝴蝶

    这一篇来使用逐帧动画和补间动画来实现一个小样例,首先我们来看看Android中的补间动画. Android中使用Animation代表抽象的动画类,该类包含以下几个子类: AlphaAnimation ...

最新文章

  1. nacos如何搭建集群?nacos+nginx搭建集群,这一篇文章就够了!
  2. OAuth 2.0系列教程(十) 资源拥有者密钥证书授权请求和响应
  3. 【洛谷比赛】你的名字。
  4. 使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)
  5. 防止IE不支持console.log报错
  6. util包的常用类及其方法(上)
  7. SWPU信息学院团体程序设计竞赛题解
  8. 社交柔道术 - 《影响力》读书笔记(一)
  9. flamengo x ajax,Flamengo是什么意思
  10. 【POJ2155】Matrix(二维区间修改+单点查询---二维树状数组)
  11. 学计算机打字重不重要,怎么才能有效的学好电脑打字
  12. 2019年10月江苏计算机二级C语言编程题解析
  13. mysql 完整卸载教程_彻底卸载MySQL数据库教程
  14. Linux 下的 MISC 设备驱动
  15. HDU-2859 Phalanx
  16. 小米手机,xxx正在删除小米账户上的联系人
  17. 请举例说明微型计算机的工作过程,简答题(计算机接口技术小作业)
  18. python 抛出异常记录
  19. 【多校训练】2021HDU多校4
  20. 中国大学校徽宇宙的尽头,是消消乐吧?

热门文章

  1. 传统建材采购的痛点有哪些?
  2. IT-RS-OSPF-V-link_Looped
  3. 神经网络打印模型参数及参数名字和数量
  4. word分栏第一栏没满内容跑到下一栏
  5. 青龙羊毛——可用脚本
  6. mysql 加权_mysql/stats:加权平均值以突出平均值的差异
  7. 基于TQ2440的SPI驱动学习(OLED)
  8. 农村市场谋定中国农民丰收节交易会 消费潜力持续正释放
  9. Navicat Premium 导入SQL文件
  10. MediaWiki搭建指导