双色球选号(一)
一、双色球选号工作
1、Layout文件加载(分析布局)、初始化、设置监听
2、改变标题显示(未获取到信息时默认标题显示)
3、自定义选号adapter
4、选号容器监听
①改变球的背景图片
②给选中的球加动画效果
③增加已选号码的容器
④判断当前点击号码是否包含在该容器中,包含则删除,不包含则添加
⑤快速完成蓝球相关内容
5、选号提示
①红球、蓝球选号
②注数和钱数提示(注数计算factorial)
6、处理机选(手机传感器)
7、定义玩法接口
①清空选号
②添加选号到购物车
③判断当前期信息获取情况
|
技术点:1、GridView布局 ① android:columnWidth="35dip" 列宽 ② android:listSelector="@android:color/white" 选中的时候的背景 ③ android:numColumns="auto_fit" 自动适应屏幕的宽度来决定列数目 2、不同的界面之间传递数据,使用Bundle 由于只有一个Activity,所以不能用startActivityForResult(),只能使用Bundle 3、一个Adapter处理多种情况,所以在里面定义成员,根据情况来处理 4、注意:List中移除一个Integer元素 ①不能在list.remove(int),这里会根据元素在集合的位置position来删除 listRedSelected.remove(position);//不能使用position,为根据位置position来移除 ②要想使用list.remove(object),那么只能将int转成Integer来存储 listRedSelected.remove(pollRedNumberAdapter.getItem(position)); listRedSelected.remove(Integer.valueOf(position)); 5、动画布局: rate按照sin函数来动:android:interpolator="@android:anim/cycle_interpolator" 更多:加速,减速 http://developer.android.com/guide/topics/resources/animation-resource.html |
1、资源布局: <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- 双色球选号 -->
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/ii_lottery_buy_bottom" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!-- 红球的选号 -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/id_ssq_red_title" >
<Button
android:id="@+id/bt_ssq_random_red"
style="@android:style/Widget.Button.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dip"
android:text="@string/is_random_red" />
</RelativeLayout>
<!-- 红球选号的容器 -->
<!-- 高度固定:留出一个空行——小屏幕手机 -->
<GridView
android:id="@+id/gv_ssq_red_number_container"
android:layout_width="match_parent"
android:layout_height="200dip"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:columnWidth="35dip"
android:listSelector="@android:color/white"
android:numColumns="auto_fit" >
</GridView>
<!-- 蓝球的选号 -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/id_ssq_blue_title" >
<Button
android:id="@+id/bt_ssq_random_blue"
style="@android:style/Widget.Button.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dip"
android:text="@string/is_random_blue" />
</RelativeLayout>
<!-- 蓝球选号 -->
<GridView
android:id="@+id/gv_ssq_blue_number_container"
android:layout_width="match_parent"
android:layout_height="120dip"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:columnWidth="35dip"
android:listSelector="@android:color/white"
android:numColumns="auto_fit" />
</LinearLayout>
</ScrollView>
<!-- 手机摇啊摇 -->
<LinearLayout
android:id="@+id/ll_lottery_buy_bottom_zl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/id_lottery_phone_shake_bg"
android:gravity="center_horizontal" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/id_lottery_phone_shake" />
</LinearLayout>
</RelativeLayout>
|
2、PlaySSq.java
|
3、Adapter:PollAdapter.java
|
4、结果: |