3番目のActivityとAndroid ImageViewとTextView

9952 ワード

数日更新していないで、仕事の上の事が忙しくて、ほとんど毎日残业します.
前の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>

1つのユニットには複数の単語があり、これらの単語が一つ一つ表示され、携帯電話で画像を閲覧しているような感じがします.プロトタイプなので比較的簡単にできており、データソースは配列です.
次は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 }

コードから分かるように、全部で6枚のpngの画像で、6つの単語に対応しています.
ここで重要なのは単語の切り替えを実現し,画像にonTouchイベントをバインドし,touchの場合,画像ソース(名前)とテキストの単語を自動的に修正することである.最後の単語に切り替えると、次は最初の単語になるはずです.最後の実装はlistであり,Cのデータ構造の双方向リストのように,どの方向に回転してもよいし,長さは制限されない.
これで、簡単な原型が出てきました.
簡単なコードは、単語を学ぶプログラムの原型を実現した.まずユニットを選択し、もう一つのユニットで単語を暗記します.