使用Android studio实现扑克牌翻牌、洗牌效果,通过对话框进行选择翻看哪一张牌,效果如下

ps:前提是要提前准备4或者更多的扑克牌的正面图片以及一张扑克牌的背面图

代码如下:1、界面布局,我是用的是RelativeLayout作为父布局然后嵌入LinearLayout子布局。你们也可以使用LinearLayout作为父布局。效果如下图

<LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/Layout_1">
<ImageViewandroid:id="@+id/activity_iv1"android:layout_width="100dp"android:layout_height="200dp"android:src="@mipmap/hongtaoq" />
<ImageViewandroid:id="@+id/activity_iv2"android:layout_width="100dp"android:layout_height="200dp"android:src="@mipmap/hongtaok" />
<ImageViewandroid:id="@+id/activity_iv3"android:layout_width="100dp"android:layout_height="200dp"android:src="@mipmap/hongtaoj" />
<ImageViewandroid:id="@+id/activity_iv4"android:layout_width="100dp"android:layout_height="200dp"android:src="@mipmap/heitaok" />
</LinearLayout>
<Buttonandroid:id="@+id/activity_xipai"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="洗牌"android:textColor="#bf62ff"android:textSize="40sp"android:layout_marginLeft="100dp"android:layout_below="@id/Layout_1"/><Buttonandroid:id="@+id/activity_xuanpai"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="选牌"android:textColor="#0000ff"android:textSize="40sp"android:layout_below="@id/Layout_1"android:layout_toRightOf="@id/activity_xuanpai"/>

2、添加按键响应

//添加按键响应
builder=new AlertDialog.Builder(this);
bt1=(Button)findViewById(R.id.activity_xipai);
bt2=(Button)findViewById(R.id.activity_xuanpai);
iv1=(ImageView)findViewById(R.id.activity_iv1);
iv2=(ImageView)findViewById(R.id.activity_iv2);
iv3=(ImageView)findViewById(R.id.activity_iv3);
iv4=(ImageView)findViewById(R.id.activity_iv4);

3、创建对话框+复选框选项列表

bt2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {builder.setTitle("选牌");//设置标题builder.setIcon(R.mipmap.tubiao);//设置图标//列表选项builder.setMultiChoiceItems(xuanxiang, null, new DialogInterface.OnMultiChoiceClickListener() {@Override
//按钮Button(洗牌)响应public void onClick(DialogInterface dialogInterface, int i, boolean b) {paimian=xuanxiang[i];
//向对话框列表里面添加选项实现复选框效果if (i == 0) {if (b == true) {li.add("红桃K");li.contains(R.mipmap.hongtaok);} else {li.remove("红桃K");}}if (i == 1) {if (b == true) {li.add("红桃J");} else {li.remove("红桃J");}li.contains(hongtaoj);}if(i==2){if(b== true) {li.add("红桃Q");}else {li.remove("红桃Q");}li.contains(R.mipmap.hongtaoq);}if (i==3){if(b==true){li.add("黑桃K");}else {li.remove("黑桃K");}li.contains(R.mipmap.heitaok);}}});
//点击确定,实现选中哪张牌就翻看哪张牌builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {if(paimian.equals("红桃K")){li.contains(R.mipmap.hongtaok);iv1.setImageResource(R.mipmap.hongtaok);}else {//如果没选中即仍然是背面的效果iv1.setImageResource(R.mipmap.beimian);}if(paimian.equals("红桃J")){li.contains(hongtaoj);iv2.setImageResource(hongtaoj);}else {iv2.setImageResource(R.mipmap.beimian);}if(paimian.equals("红桃Q")){li.contains(hongtaoq);iv3.setImageResource(hongtaoq);}else {iv3.setImageResource(R.mipmap.beimian);}if(paimian.equals("黑桃K")){li.contains(heitaok);iv4.setImageResource(heitaok);}else {iv4.setImageResource(R.mipmap.beimian);}}});builder.setNeutralButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {}});builder.create();//创建对话框builder.show();//显示对话框}
});

4、点击洗牌按钮,实现洗牌(翻牌)效果

bt1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {iv1.setImageResource(R.mipmap.beimian);iv2.setImageResource(R.mipmap.beimian);iv3.setImageResource(R.mipmap.beimian);iv4.setImageResource(R.mipmap.beimian);}});

5、漏了一点;前面还要创建一些变量哦

Button bt1,bt2;
ImageView iv1,iv2,iv3,iv4;
AlertDialog.Builder builder;//创建对话框变量
String paimian=" ";
String[] xuanxiang={"红桃K","红桃Q","黑桃K","红桃J"};//对话框的列表选项
List<String> li=new ArrayList<>();

好啦,代码可直接用,希望能对你们有帮助!

如何使用Android studio实现扑克牌翻牌效果?相关推荐

  1. android studio进度条的应用,Android Studio实现进度条效果

    本文实例为大家分享了Android Studio实现进度条效果的具体代码,供大家参考,具体内容如下 实验作业 要求一个进度条,进度随机 效果图 xml代码 xmlns:app="http:/ ...

  2. Android Studio新建工程及测试效果

    文章目录 前言 一.安卓平台架构 二.开发环境 三.使用步骤 1.安装Android Studio并运行 2.创建新的安卓工程 四.虚拟环境测试 五.真机环境测试 总结 前言 随着智能手机的不断发展以 ...

  3. 测试新版Android Studio的手机镜像效果

    学更好的别人, 做更好的自己. --<微卡智享> 本文长度为669字,预计阅读2分钟 前言 春节刚上班,就开始了疯狂出差的节奏,期间发现Android Studio发布新的版本2022.1 ...

  4. android 属性翻牌动画,Android通过动画实现翻牌效果

    实现效果如下: 实现原理:准备好两张图片,一张作为正面,一张作为背面,当点击图片的正面后,正面的图片的横坐标x进行收缩,直到缩为0%,当正面图片的横坐标x收缩为0之后图片切换为作为背面图片,背面图片的 ...

  5. android studio开关按钮,Android studio实现滑动开关

    大家好,今天刚学会使用Android Studio实现滑动开关的效果,自己感觉还可以,和大家分享一下,如果觉得可以的可以拿去,然后再给我点个赞,谢谢.本人也是学Android studiok开发不久, ...

  6. android studio开关控件,Android studio实现滑动开关

    大家好,今天刚学会使用Android Studio实现滑动开关的效果,自己感觉还可以,和大家分享一下,如果觉得可以的可以拿去,然后再给我点个赞,谢谢.本人也是学Android studiok开发不久, ...

  7. Android Studio||动态改变xml图片位置+背景/旋转+平移/AnimationSet/java读取drawable图

    step by step. 目录 参考: 平移(TranslatAnimation) 旋转(RotateAnimation) AnimationSet xml:(正常设置即可) java: java读 ...

  8. Android studio实现底部导航,Android 开发之BottomBar+ViewPager+Fragment实现炫酷的底部导航效果...

    BottomBar BottomBar是Github上的一个开源框架,因为从1.3.3开始不支持fragments了,要自己配置,弄了很久,不管是app的fragment还是V4 的程序总是总是闪退. ...

  9. android app启动图片 加动画效果,Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案...

    Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案 大家在设计APP的末期,都会想给APP搞一些"花里胡哨"的特效来提高APP的B格.博主表示亲测有效 ...

最新文章

  1. HTML5 2D平台游戏开发#7Camera
  2. 你在数据预处理上花费的时间,是否比机器学习还要多?
  3. 开发VUE使用第三库,发现有bug怎么办?
  4. 学习《PythonWeb开发实战(董伟明)》中文PDF+源代码
  5. idea 自动生成mybaits_IDEA利用mybatis-generator自动生成dao和mapper
  6. 还服务器网站被k,导致网站被K的主要原因,看看你有没有中招!
  7. Vim GDB 调试器编译配置说明
  8. 【论文视频】对比学习论文综述【论文精读】
  9. java哪些地方用到了工厂模式_【java】实际开发中哪些场景需要用到工厂模式?...
  10. hdu 1427 24点暴力dfs
  11. 一文读懂声纹采集、声纹识别、声纹数据库系统等声纹识别技术在公安业务领域的应用场景
  12. 淘宝双十一喵果总动员之喵树大挑战玩法攻略
  13. 代理商为何要卖增值业务?
  14. LittleVGL移植到STM32
  15. 商城静态页面(仿小米官网)
  16. 浅谈如何做好项目管理
  17. 【密码学原理】消息认证概述,Hash和MAC
  18. C/C++中int的取值范围
  19. 最佳适应算法(best fit)
  20. 判断回文数的简便算法

热门文章

  1. 得物云原生全链路追踪Trace2.0-采集篇
  2. matlab的plot没有反应,用plot画图没有反应
  3. 持久数据结构 Persistent data structures
  4. c语言七星彩票兑奖7位数,7位数的体彩!具体中奖怎么算!
  5. HCIA 子网掩码习题及具体解题步骤
  6. 【转】高清视频分割器在日常生活中的重要作用
  7. QMediaPlayer播放音频文件
  8. Fortran语言程序设计基础 02 函数和子例行程序习题
  9. 《那些年啊,那些事——一个程序员的奋斗史》——62
  10. Ubuntu16.04.06 CUDA cudnn 配置