第三个Activity和Android ImageView和TextView

几天没有更新了,因为工作上的事情太忙,几乎天天加班。

上一个Activity中的Intent中已经看到了,这个Activity是WordActivity。这个Activity要实现的是单词的学习,每次显示一个单词,屏幕的布局是上面一个图片,下面是图片的英文单词。下面是布局的xml文件。

 1 ayout_height="fill_parent"
2 android:orientation="vertical" >
3
4 <ImageView
5 android:id="@+id/wordImageView"
6 android:layout_width="316dp"
7 android:layout_height="wrap_content"
8 android:layout_weight="0.72"
9 android:scaleType="fitXY"
10 android:src="@drawable/a" />
11
12 <TextView
13 android:id="@+id/wordTextView"
14 android:layout_width="fill_parent"
15 android:layout_height="wrap_content"
16 android:layout_weight="0.23"
17 android:gravity="center"
18 android:text="juice"
19 android:textStyle="bold"
20 android:typeface="serif"
21 android:visibility="visible"
22 android:textSize="48px"/>
23
24 </LinearLayout>

一个单元有多个单词,这些单词一个个的显示,显示的方式就像我们在手机上浏览图片的感觉。因为是原型,所以做得比较简单,用的数据源是数组。

下面是Java的代码。

 1 package Workshop.english.englishwords;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.widget.*;
6 import android.view.*;
7 import android.view.View.OnTouchListener;
8
9 /* This activity shows the word one by one */
10 public class WordActivity extends Activity {
11
12 private TextView wtv;
13
14 private ImageView wiv;
15
16 private Integer i = 0;
17
18 static final String[] WORD_SPELL = new String[] {
19 "juice", "apple", "bird", "house", "fox", "dog"} ;
20
21 @Override
22 protected void onCreate(Bundle savedInstanceState)
23 {
24 super.onCreate(savedInstanceState);
25 setContentView(R.layout.word_list);
26
27 wtv = (TextView)findViewById(R.id.wordTextView);
28 wiv = (ImageView)findViewById(R.id.wordImageView);
29 wiv.setOnTouchListener(new OnTouchListener() {
30 public boolean onTouch(View view, MotionEvent event) {
31 /* show next word */
32 if(i < 5)
33 {
34 wiv.setImageResource(mImages[i++]);
35 wtv.setText( WORD_SPELL[i++]);
36 }
37 else if(5 == i)
38 {
39 i = 0;
40 wiv.setImageResource(mImages[0]);
41 wtv.setText( WORD_SPELL[0]);
42 }
43
44 return true;
45 }
46 });
47 }
48
49 private Integer[] mImages = {
50 R.drawable.a,
51 R.drawable.b,
52 R.drawable.c,
53 R.drawable.d,
54 R.drawable.e,
55 R.drawable.f
56 };
57 }

从代码中可以看出,一共是六张png的图片,对应了六个单词。

这里的关键是实现单词的切换,在图片上绑定了onTouch事件,当touch的时候,自动修改图片源(名字)和文本的单词。需要注意的是,当切换到最后一个的时候,下一个应该是第一个单词。最后的实现可能是一个list,就像C的数据结构双向列表的那种,可以随便哪个方向转,而且长度不限制。

至此,一个简单的原型就出来了。

简单的代码,实现了一个学单词的程序的原型。先选择单元,然后再一个单元中背单词。

 



posted @ 2012-03-06 18:13  爱心觉罗氏  阅读(1788)  评论(0编辑  收藏  举报