step1:记分器简介
这是一个可以记录篮球赛中比赛双方成绩的应用,得分分为两分球、三分球、罚球(一分),比赛结束后可以重置。最终效果如图所示:
记分器应用.jpg
step2:创建工程项目
小弟用的是Android Studio,API15,空模版。
紧接着是三部曲:
1.选择所用view和数量:
显而易见,两个TextView,三个Button。
2.选择position views:
因为是一个简单的垂直布局,所以选择LinearLayout线性布局。
3.style of views:
TextView要居中显示,三个按钮都要在水平方向占满整个视图。还有合适的内边距(padding:4dp)和外边距(layout_margin:8dp),你也可以选择自己喜欢的方式。
贴上代码(MainActivity.xml):
<code>
<?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>
</code>
使文本居中的方法是添加属性<code>android:gravity="center_horizontal"</code>
这个属性还有垂直居中(center_vertical)、居中(center)等。如果你发现文本没有居中可能是你的TextView的宽度不够大。
这时尽管你的设置居中了,但它是针对于蓝色框的宽度居中。
设置宽度后.jpg
这样才是对的。
step3创建方法
现在,按钮并不会做任何事情,我们需要将xml文件与java文件关联起来。
在MainActivity.java文件中MainActivity方法中添加一个新的方法,代码如下:
<code>
/**
*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));
}</code>
你同时需要设置开启AutoImport,并将显示分数的TextView的id改为:team_a_score
<code>android:id="@+id/team_a_score"</code>
现在我们需要一个全局变量来记录A队的得分,声明并初始化为0。
<code>int scoreTeamA = 0;</code>
我们需要为每一个得分按钮设计方法:
<code>
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);
}</code>
然后在xml文件中添加调用:
<code>
android:onClick="threePointA"
android:onClick="twoPointA"
android:onClick="freeGoalA"
</code>
到这里你会发现你的应用已经可以加分了。
时间有限,先写到这里。
网友评论