篮球赛记分器应用(Android)(一)

2017-01-23 15:43:01来源:http://www.jianshu.com/p/b197a3d14c8a作者:海深不蓝_人点击


step1:记分器简介

这是一个可以记录篮球赛中比赛双方成绩的应用,得分分为两分球、三分球、罚球(一分),比赛结束后可以重置。最终效果如图所示:



记分器应用.jpg
step2:创建工程项目

小弟用的是Android Studio,API15,空模版。
紧接着是三部曲:
1.选择所用view和数量:



views.jpg


显而易见,两个TextView,三个Button。
2.选择position views:
因为是一个简单的垂直布局,所以选择LinearLayout线性布局。
3.style of views:
TextView要居中显示,三个按钮都要在水平方向占满整个视图。还有合适的内边距(padding:4dp)和外边距(layout_margin:8dp),你也可以选择自己喜欢的方式。
贴上代码(MainActivity.xml):
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" tools:context="com.example.administrator.countcounter.MainActivity">


<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Team A"
android:gravity="center_horizontal"
android:padding="4dp"/>


<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:gravity="center_horizontal"
android:padding="4dp"/>


<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="+2point"
android:layout_margin="8dp"/>


<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="+3point"
android:layout_margin="8dp"/>


<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="free goal"
android:layout_margin="8dp"/>
</LinearLayout>


使文本居中的方法是添加属性android:gravity="center_horizontal"
这个属性还有垂直居中(center_vertical)、居中(center)等。如果你发现文本没有居中可能是你的TextView的宽度不够大。




这时尽管你的设置居中了,但它是针对于蓝色框的宽度居中。



设置宽度后.jpg


这样才是对的。


step3创建方法

现在,按钮并不会做任何事情,我们需要将xml文件与java文件关联起来。
在MainActivity.java文件中MainActivity方法中添加一个新的方法,代码如下:
/*
Displays the given score for Team A.
*/
public void displayForTeamA(int score) {
TextView scoreView = (TextView) findViewById(R.id.team_a_score); scoreView.setText(String.valueOf(score));
}

你同时需要设置开启AutoImport,并将显示分数的TextView的id改为:team_a_score
android:id="@+id/team_a_score"
现在我们需要一个全局变量来记录A队的得分,声明并初始化为0。
int scoreTeamA = 0;
我们需要为每一个得分按钮设计方法:
public void threePointA(View view) {
scoreTeamA = scoreTeamA + 3;
displayForTeamA(scoreTeamA);
}
public void freeGoalA(View view) {
scoreTeamA = scoreTeamA + 1;
displayForTeamA(scoreTeamA);
}
public void twoPointA(View view) {
scoreTeamA = scoreTeamA + 2;
displayForTeamA(scoreTeamA);
}

然后在xml文件中添加调用:
android:onClick="threePointA"
android:onClick="twoPointA"
android:onClick="freeGoalA"

到这里你会发现你的应用已经可以加分了。


时间有限,先写到这里。




微信扫一扫

第七城市微信公众平台