- 浏览: 518347 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
tangyunliang:
大哥你太历害了谢谢
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
u013015029:
LZ,请问下,在// 添加消息到聊天窗口 , 这里获取Ed ...
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
endual:
怎么保持会话,我搞不懂啊
Android基于XMPP Smack Openfire开发IM【一】登录openfire服务器 -
donala_zq:
显示:[2013-11-30 11:50:36 - Andro ...
android-----------新浪微博 -
donala_zq:
哥,运行不了啊
android-----------新浪微博
效果图:
[img]
[/img]
工程结构图:
[img]
[/img]
MainActivity:
LotteryView:
LotteryGbox:
LotteryComMethod:
LotteryBox:
[img]
[/img]
工程结构图:
[img]
[/img]
MainActivity:
package com.zzl.shuangseqiu; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.LinearLayout; public class MainActivity extends Activity implements LotteryComMethod, OnClickListener { /** * n 代表有几个选区,比如双色球,有红蓝两个选区,暂时未用到 s1代表第一个选区有几个数字, s2代表第二个选区有几个数字, * m1代表第一个选区至少选几个 m2代表第二个选区至少选几个 redlist用于存储选区1的球 bluelist用于存储选区2的球 * type表示了玩法,单注,复试,胆拖 */ private int n = 2; private LotteryBox[] lb; private LinearLayout ball; private int[] s = { 33, 16 }, m = { 6, 1 }, maxBall; private ArrayList<ArrayList<LotteryView>> ballList = new ArrayList<ArrayList<LotteryView>>(); private String[] name = {"1","2","3","4","5","6","7","8","9","10"}; boolean startZero = true; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ball = (LinearLayout) findViewById(R.id.ball); addBall(); } /** * 添加球 */ public void addBall() { lb = new LotteryBox[n]; for (int i = 0; i < n; i++) { lb[i] = new LotteryBox(this, null, "选择" + name[i]); lb[i].setPadding(10, 0, 0, 0); for (int j = 0; j < (startZero ? (s[i] + 1) : s[i]); j++) { LotteryView lv = new LotteryView(this, this, null, startZero ? j : j + 1, m[i]); lb[i].addBall(lv); } ball.addView(lb[i]); } } @Override public boolean check(LotteryView lv, boolean is) { // TODO Auto-generated method stub return false; } @Override public int checkMulti() { // TODO Auto-generated method stub return 0; } @Override public void clear() { // TODO Auto-generated method stub } @Override public int getDanTuoTotal() { // TODO Auto-generated method stub return 0; } @Override public int getFuShiTotal() { // TODO Auto-generated method stub return 0; } @Override public int getType() { // TODO Auto-generated method stub return 0; } @Override public void refesh() { // TODO Auto-generated method stub } @Override public void setType(int type) { // TODO Auto-generated method stub } @Override public void onClick(View arg0) { // TODO Auto-generated method stub } }
LotteryView:
/** * 彩票球类 */ package com.zzl.shuangseqiu; import android.content.Context; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.util.AttributeSet; import android.view.View; import android.widget.Button; public class LotteryView extends Button { /** * checked,unchecked,checned_dan分别为未选中,选中,胆拖状态 * single,fu_shi,dan_tuo分别为单注,复式,胆拖玩法 * status记录了该球的状态 * num记录了该球的号码 */ public final static int CHECKED = 0, UNCHECKED = 1, CHECKED_DAN = 2; public final static int SINGLE = 3, FU_SHI = 4, DAN_TUO = 5; private int status = UNCHECKED; private int num = -1; private boolean isdan = true; public boolean isIsdan() { return isdan; } public void setIsdan(boolean isdan) { this.isdan = isdan; } public LotteryView(final Context c,final LotteryComMethod context, AttributeSet attrs, int num,int max) { super(c, attrs); setBackgroundResource(R.drawable.white_ball); this.setNum(num); setPadding(0, 0, 0, 0); setText(String.valueOf(num)); setWidth(BitmapFactory.decodeResource(getResources(), R.drawable.white_ball).getWidth()); setHeight(BitmapFactory.decodeResource(getResources(), R.drawable.white_ball).getHeight()); setOnClickListener(new OnClickListener() { /** * 当球被点击时,监听状态,根据球当前的状态进行变化 未选中->选中 ->胆拖 * 并更新玩法状态 * 若第一次进入新状态,进行提示 */ public void onClick(View v) { if (status == CHECKED) { status = CHECKED_DAN; setBackgroundResource(R.drawable.twice_click); } else if (status == UNCHECKED && isdan) { status = CHECKED; setBackgroundResource(R.drawable.once_click); } else if(status == UNCHECKED && !isdan){ status = CHECKED_DAN; setBackgroundResource(R.drawable.twice_click); }else if (status == CHECKED_DAN) { status = UNCHECKED; setBackgroundResource(R.drawable.white_ball); } int ty=context.checkMulti(); context.check((LotteryView) v,true); context.setType(ty); context.refesh(); } }); } public void setStatus(int status) { if(status == UNCHECKED){ setBackgroundResource(R.drawable.white_ball); }else if(status == CHECKED){ setBackgroundResource(R.drawable.once_click); }else if(status == CHECKED_DAN){ setBackgroundResource(R.drawable.twice_click); } this.status = status; } public int getStatus() { return status; } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); } public void setNum(int num) { this.num = num; } public int getNum() { return num; } public void reSet(){ status = UNCHECKED; setBackgroundResource(R.drawable.white_ball); } public void reSetFu() { status = CHECKED; setBackgroundResource(R.drawable.blue_ball); } }
LotteryGbox:
package com.zzl.shuangseqiu; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.widget.LinearLayout; public class LotteryGbox extends LinearLayout { private LinearLayout ll; private Context c; public LotteryGbox(Context context, AttributeSet attrs) { super(context, attrs); c = context; setOrientation(LinearLayout.VERTICAL); } @Override public void addView(View child) { if (ll == null) { ll = new LinearLayout(c); ll.setBackgroundResource(R.drawable.ball_under); ll.setOrientation(LinearLayout.HORIZONTAL); ll.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); ll.addView(child); super.addView(ll); } else { if (ll.getChildCount() == 10) { ll = new LinearLayout(c); ll.setBackgroundResource(R.drawable.ball_under); ll.setOrientation(LinearLayout.HORIZONTAL); ll.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); ll.addView(child); super.addView(ll); } else { ll.addView(child); } } } }
LotteryComMethod:
/** * * 该接口实现了每个需要用到lotteryView需要调用的方法,这些方法会在lotteryView中进行回调 * */ package com.zzl.shuangseqiu; public interface LotteryComMethod { void setType(int type); int getType(); int getFuShiTotal(); int getDanTuoTotal(); boolean check(LotteryView lv,boolean is); void clear(); void refesh(); int checkMulti(); }
LotteryBox:
package com.zzl.shuangseqiu; import android.content.Context; import android.graphics.Color; import android.util.AttributeSet; import android.widget.LinearLayout; import android.widget.TextView; public class LotteryBox extends LinearLayout { private TextView title; private LotteryGbox content; public LotteryBox(Context context, AttributeSet attrs,String title) { super(context, attrs); this.title=new TextView(context); this.title.setText(title); this.title.setTextColor(Color.BLACK); this.title.setPadding(10, 0, 10, 0); content=new LotteryGbox(context, attrs); content.setBackgroundColor(0xffffff); addView(this.title); addView(content); setOrientation(LinearLayout.VERTICAL); } public void addBall(LotteryView lv){ content.addView(lv); } }
发表评论
-
Android中如何模拟一次点击(touch)事件
2014-05-06 10:41 0在Android中有时需要模拟某一个View的touch事件, ... -
Android程序Crash时的异常上报
2014-04-28 18:15 0http://blog.csdn.net/singwhatiw ... -
android程序中证书签名校验的方法
2014-04-28 17:58 1907android程序中证书签名校验的方法一 2013-02 ... -
MD5理解错了,哎
2014-03-17 14:14 0MD5只对数据加密是无法解密的,也就是说,你把100加密后,就 ... -
Android 获取网络时间
2014-03-12 11:42 2013Android 获取网络时间 在网上看到的最常见的方式有: ... -
SQLite清空表并将自增列归零
2014-03-05 18:02 1472SQLite清空表并将自增列归零 作者:Zhu Yanfeng ... -
Handler小看一下
2013-11-11 16:42 0android handler调用post方法还是阻塞 su ... -
Frame Animation小看一下
2013-10-12 16:30 724Demo运行效果图: 源码: -
动画小学一下
2013-10-12 16:14 696转自: http://www.eoeandroid.com/f ... -
Android 动画之ScaleAnimation应用详解
2013-10-12 15:49 965===============eoeAndroid社区推荐:= ... -
android开发中的一个工具类
2013-06-19 16:04 0package com.wanpu.login.dialog; ... -
android TextView怎么设置个别字体颜色并换行?
2013-06-20 09:25 1639(1)、TextView 设置个别字体颜色 TextView ... -
Android开发之文件下载,状态时显示下载进度,点击自动安装
2013-05-07 15:38 1371在进行软件升级时,需要进行文件下载,在这里实现自定义的文件下载 ... -
android中的状态保存
2013-04-07 14:21 935package com.zzl.call; import ... -
android动画基础:tween动画
2013-04-06 11:21 1181工程结构图: [img] [/img] 四个动画的xml ... -
面试中遇到的几个问题
2013-06-09 11:56 946SAX与DOM之间的区别 SAX ( ... -
Android获取其他包的Context实例,然后调用它的方法,反射!!!
2013-03-25 10:32 1163Android中有Context的概念,想必大家都知道。Con ... -
Android的内存机制和常见泄漏情形
2013-03-06 16:55 757一、 Android的内存机制 Android的程序由Ja ... -
JUnit测试小小demo
2013-03-06 16:37 1090运行效果图: [img] [/img] 项目结构图 ... -
android开发中的异常小工具
2013-03-04 15:53 864package com.zzl.tools; impor ...
相关推荐
采用GRID布局的双色球,方便快捷,易于维护
java实现的双色球选号器
用html+css+javascript实现的模拟机选双色球,通过定时器模拟选出一组或多组号码,可以将选择的号码进行排序,添加到列表中,导出excel,分页等操作,除此外还实现了图片的上传预览等功能......
基于WPF实现双色球,主要利用C#多线程知识;基于WPF实现双色球,主要利用C#多线程知识
自己写的一段小代码,实现双色球选球功能 希望给你带来好运
用java 轻松实现的双色球游戏程序,看你有多大的比例中奖!!
使用Java实现了双色球的简单玩法,非常适合于Java初学者的案例。
Java初学者可以学习一下,用Java实现双色球中奖模拟系统
JavaScript三种方法模拟双色球抽奖——使用标记、使用Interval、使用Timeout。 详情请参考博文: JavaScript三种方法模拟双色球抽奖——使用标记、使用Interval、使用Timeout ...
一个不错的用Java实现的双色球抽号程序,希望能给您带来好运
WinFormsAppC#实现双色球
抽奖活动双色球抽奖程序,适用于网页页面、移动设计,直接放在工程目录下面既可以使用。
Java实现双色球开奖程序
大学程序实例设计课程的小作业——双色球彩票模拟中奖系统。很精心的在写,送给一切需要的新手们(一起成长)(应该是有能借鉴的内容)(有追加注释)。资源分算是对我的一丢丢补偿吧,我也想去下载别人的代码。
自己写的一段小代码,实现双色球随机选球功能, 每次运行自动生成30组 希望给你带来好运
利用JAVA程序设计语言编写的一个简单的双色球随机数的产生.顺带小窗口的图像界面设计。
非常简单的双色球代码,希望对你的js开发有所帮助
对彩票双色球进行概率统计和预测排序的算法。 对每个号码出现频率和遗漏次数进行加权统计,然后排序,预测下期号码。
双色球小神童 模仿福利彩票双色球开发的 程序 实现