记分牌

我们知道使用FlipViewController可以展示立体额翻页效果,左右翻页,上下翻页,现在使用FlipViewController来模拟一个记分牌效果。

1.首先要导入FlipViewController类所在的aphid-flipview-library。

下载地址:http://download.csdn.net/detail/forwardyzk/8333027

2.定义一个类ScoreBoardView继承LinearLayout

加载LinearLayout中的xml布局文件

layout_scoreboard_view.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context="com.yzk.filpviewdemo.MainActivity" >

    <com.aphidmobile.flip.FlipViewController
        android:id="@+id/flipViewLeft"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_marginRight="5dp"
        android:layout_weight="1" >
    </com.aphidmobile.flip.FlipViewController>

    <com.aphidmobile.flip.FlipViewController
        android:id="@+id/flipViewRight"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_marginLeft="5dp"
        android:layout_weight="1" >
    </com.aphidmobile.flip.FlipViewController>

</LinearLayout>

现在初始化View

public void initView() {
		View.inflate(mContext, R.layout.layout_scoreboard_view, this);
		flipViewLeft = (FlipViewController) findViewById(R.id.flipViewLeft);
		flipViewRight = (FlipViewController) findViewById(R.id.flipViewRight);
		flipViewLeft.setAdapter(new FlipViewAdapter(
				android.R.color.holo_red_dark));
		flipViewRight.setAdapter(new FlipViewAdapter(android.R.color.black));
	}

3.给FlipViewController设置的适配器

class FlipViewAdapter extends BaseAdapter {
		private int mColor;

		public FlipViewAdapter(int color) {
			this.mColor = color;
		}

		@Override
		public int getCount() {
			return 10;
		}

		@Override
		public Object getItem(int position) {
			return position;
		}

		@Override
		public long getItemId(int position) {
			return position;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			ViewHolder holder = null;
			if (convertView == null) {
				holder = new ViewHolder();
				convertView = View.inflate(mContext, R.layout.item_text_view,
						null);
				holder.tv_score = (TextView) convertView
						.findViewById(R.id.tv_score);
				convertView.setTag(holder);
			} else {
				holder = (ViewHolder) convertView.getTag();
			}
			holder.tv_score.setTextColor(mContext.getResources().getColor(
					mColor));
			holder.tv_score.setText(String.valueOf(getItem(position)));
			return convertView;
		}

	}

设置对应的显示数字的颜色

item对应的布局文件

item_text_view.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tv_score"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/white"
        android:gravity="center"
        android:text="0"
        android:textColor="@android:color/black"
        android:textSize="130sp" />

</LinearLayout>

使用步骤:

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context="com.yzk.filpviewdemo.MainActivity" >

    <com.yzk.view.ScoreBoardView
        android:id="@+id/scoreview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </com.yzk.view.ScoreBoardView>

</LinearLayout>

MainActivity.java

public class MainActivity extends Activity {

	private ScoreBoardView view;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		view = (ScoreBoardView) findViewById(R.id.scoreview);
	}

	@Override
	protected void onResume() {
		super.onResume();
		view.onResume();
	}

	@Override
	protected void onPause() {
		super.onPause();
		view.onPause();
	}
}

源码下载地址:http://download.csdn.net/detail/forwardyzk/8333517

默认是纵向

如果设置横向:

FlipViewController flip = new FlipViewController(mContext,FlipViewController.HORIZONTAL);

或者布局文件中设置

<com.aphidmobile.flip.FlipViewController

android:id="@+id/flipViewLeft"

android:layout_width="0dp"

android:layout_height="match_parent"

android:layout_marginRight="5dp"

android:layout_weight="1"

app:orientation="horizontal" >

</com.aphidmobile.flip.FlipViewController>

效果图:

时间: 2024-10-14 04:21:54

记分牌的相关文章

【体系结构】动态调度算法:记分牌算法和tomasulo算法

记分牌和tomasulo算法 动态调度: 通过硬件在程序执行时重新安排代码的执行序列来减少竞争引起的流水线停顿时间 动态调度流水线具备以下功能: (1)允许按序取多条指令和发射多条指令----取指(IF)流水级允许按顺序取多条指令进入单口暂存器(single-entry latch)或队列(queue), 指令然后从latch或queue取出,进入ID节拍. (2)能检查并消除hazards----将ID流水级分为独立的两级:Issue级和Read operand级: Issue级功能 ----

Swift - 继承UIView实现自定义可视化组件(附记分牌样例)

在iOS开发中,如果创建一个自定义的组件通常可以通过继承UIView来实现.下面以一个记分牌组件为例,演示了组件的创建和使用,以及枚举.协议等相关知识的学习. 效果图如下: 组件代码:ScoreView.swift 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 5

jquery记分牌的插件

最近做项目用到了记分牌,可以先从网上下载插件 http://www.jb51.net/jiaoben/133746.html 然后再页面中引入相应的css文件和js文件 <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="jquery.flipcountdown.js

51nod 1231 记分牌

链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1231 一个得分合法等价于前k小的得分之和大于等于$\frac{k*(k-1)}{2}$ 听说是竞赛图的经典结论,可是我不会证. #include<cstdio> #include<cstring> #include<algorithm> #define w(x) (x)*(x-1)/2 using namespace std; int r

51Nod1231 记分牌 动态规划

原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1231.html 题目传送门 - 51Nod1231 题意 题解 显然是一个竞赛图相关的题. 我们首先证明一个结论: 一个出度序列存在对应的 $n$ 个点的竞赛图的充分必要条件是:这个出度序列的所有元素之和为 $\cfrac{n(n-1)}{2}$ ,且 对于这个出度序列中任意 $k$ 个元素,满足他们的和 $\geq \cfrac{k(k-1)}{2}$ . 由于我懒得写证明(证明需要用构造法,自

前端效果

近期项目中用到的一些自己写的或者整理而成的前端效果干货 目录 一.jQuery 上下滚动抽奖效果 二.JQ地址级联划动选择器-中国省市区 三.JQ地址级联划动选择器-日期 四.JQ地址级联划动选择器-日期时间 五.jQuery + animation.css滑动解锁 六.jQuery.countdown jQuery倒计时插件 七.Simple Switch 简单的jQuery Switch开关插件 八.jQuery下拉刷新 九.Three.js全景小游戏,找小黄豆 十.Egret小游戏,手势控

《Python编程:从入门到实践 》[Eric Matthes著] 中文pdf非扫描版

下载地址:网盘下载 内容简介  · · · · · · 本书是一本针对所有层次的Python 读者而作的python 入门书.全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib.NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表.字典.if 语句.类.文件与异常.代码测试等内容:第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的Web 应用,并帮读者

读书笔记 - 《企业生命周期》

这部书是近期所看信息量最大的书,颠覆了我的很多认知.作者在大量的企业诊疗咨询实践中创立了企业生命周期理论,把企业类比为生物,用生命周期的概念来阐述企业的不同阶段和所面临的状态,这种类比确实很形象.评论这本书已经远远超过了我的能力,下面稍微摘录一点书里的内容以供参考,这本书需要买一本以后供参考.关于经营企业的这个观点对我如同醍醐灌顶,“成长意味着具备了处理更大.更复杂的问题的能力......要管理一个企业,就得不断地去解决问题.只有不必改进的企业才会没有问题,可是只有企业死亡时才会无需改进.”我原

近期项目中用到的一些自己写的或者整理而成的前端效果干货

目录 一.jQuery 上下滚动抽奖效果 二.JQ地址级联划动选择器-中国省市区 三.JQ地址级联划动选择器-日期 四.JQ地址级联划动选择器-日期时间 五.jQuery + animation.css滑动解锁 六.jQuery.countdown jQuery倒计时插件 七.Simple Switch 简单的jQuery Switch开关插件 八.jQuery下拉刷新 九.Three.js全景小游戏,找小黄豆 十.Egret小游戏,手势控制弹球球 十一.jQuery + animate.css