ตัวอย่างการคืนค่า View ณ ตำแหน่งที่กำหนดใน Gallery : Android
 

Tutorial :: Android :: ตัวอย่างการใช้งาน :: ตัวอย่างการคืนค่า View ณ ตำแหน่งที่กำหนดใน Gallery

ในบทความนี้ จะแสดงให้เห็นถึงตัวอย่างการคืนค่า View ณ ตำแหน่งที่กำหนดใน Gallery โดยจะแสดงให้เห็นถึงการเขียนคำสั่งภายใน Class Activity, การเขียนคำสั่งภายในไฟล์ XML Layout, และการประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml ดังนี้


การเขียนคำสั่งภายใน Class Activity

  • package nutt.me.activity;
  • import android.app.Activity;
  • import android.content.Context;
  • import android.graphics.drawable.Drawable;
  • import android.os.Bundle;
  • import android.view.View;
  • import android.view.ViewGroup;
  • import android.widget.BaseAdapter;
  • import android.widget.Button;
  • import android.widget.Gallery;
  • import android.widget.ImageView;
  • public class MainActivity extends Activity
  • {
  • int [ ] imageID = null;
  • public void onCreate ( Bundle savedInstanceState )
  • {
  • super.onCreate ( savedInstanceState );
  • this.setContentView ( R.layout.activity_main );
  • this.imageID = new int [ 3 ];
  • this.imageID [ 0 ] = R.drawable.gallery_1;
  • this.imageID [ 1 ] = R.drawable.gallery_2;
  • this.imageID [ 2 ] = R.drawable.gallery_3;
  • ImageAdapter adapter = new ImageAdapter ( this, imageID );
  • Gallery gallery = ( Gallery ) this.findViewById ( R.id.gallery );
  • gallery.setAdapter ( adapter );
  • gallery.setSpacing ( 10 );
  • Button button = ( Button ) this.findViewById ( R.id.button );
  • button.setOnClickListener ( new View.OnClickListener ( )
  • {
  • public void onClick ( View view )
  • {
  • Gallery gallery = ( Gallery ) MainActivity.this.findViewById ( R.id.gallery );
  • int selectedPosition = gallery.getSelectedItemPosition ( );
  • ImageView selectedImageView = ( ImageView ) gallery.getChildAt ( selectedPosition );
  • Drawable selectedDrawable = selectedImageView.getDrawable ( );
  • ImageView imageview = ( ImageView ) MainActivity.this.findViewById ( R.id.imageview );
  • imageview.setImageDrawable ( selectedDrawable );
  • }
  • }
  • );
  • }
  • protected class ImageAdapter extends BaseAdapter
  • {
  • private Context context;
  • private int [ ] imageID;
  • public ImageAdapter ( Context context, int [ ] imageID )
  • {
  • this.context = context;
  • this.imageID = imageID;
  • }
  • public int getCount ( )
  • {
  • return this.imageID.length;
  • }
  • public Object getItem ( int position )
  • {
  • return null;
  • }
  • public long getItemId ( int position )
  • {
  • return position;
  • }
  • public View getView ( int position, View convertView, ViewGroup parent )
  • {
  • ImageView imageView = new ImageView ( this.context );
  • imageView.setImageResource ( this.imageID [ position ] );
  • imageView.setLayoutParams ( new Gallery.LayoutParams ( 200, 135 ) );
  • return imageView;
  • }
  • }
  • }

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า คำสั่ง Gallery gallery = ( Gallery ) MainActivity.this.findViewById ( R.id.gallery ); ในบรรทัดที่ 49 เป็นการสร้าง Object Gallery โดยการไปค้นหามาจาก XML Layout และคำสั่ง ImageView selectedImageView = ( ImageView ) gallery.getChildAt ( selectedPosition ); ในบรรทัดที่ 53 เป็นการคืนค่า View ณ ตำแหน่งที่กำหนดใน Gallery และคำสั่ง imageView.setLayoutParams ( new Gallery.LayoutParams ( 200, 135 ) ); ในบรรทัดที่ 100 เป็นการกำหนดขนาดของแต่ละรูปภาพใน Gallery


การเขียนคำสั่งภายในไฟล์ XML Layout

  • <?xml version="1.0" encoding="utf-8"?>
  • <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  • android:layout_width="fill_parent"
  • android:layout_height="fill_parent" >
  • <Gallery
  • android:id="@+id/gallery"
  • android:layout_width="fill_parent"
  • android:layout_height="wrap_content"
  • android:layout_alignParentTop="true" />
  • <Button
  • android:id="@+id/button"
  • android:layout_below="@id/gallery"
  • android:layout_width="wrap_content"
  • android:layout_height="wrap_content"
  • android:layout_marginTop="10dp"
  • android:layout_centerHorizontal="true"
  • android:text="Show Selected Image" />
  • <ImageView
  • android:id="@+id/imageview"
  • android:layout_below="@id/button"
  • android:layout_width="fill_parent"
  • android:layout_height="fill_parent" />
  • </RelativeLayout>

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า element <Gallery> มี id คือ gallery (ประกาศไว้ในบรรทัดที่ 7) และ element <Button> มี id คือ button (ประกาศไว้ในบรรทัดที่ 13) และ element <ImageView> มี id คือ imageview (ประกาศไว้ในบรรทัดที่ 22) ซึ่ง id เหล่านี้ถูกใช้อ้างอิงใน Class Activity ข้างต้น


การประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml

  • <?xml version="1.0" encoding="utf-8"?>
  • <manifest ... >
  • <application ... >
  • <activity android:name="nutt.me.activity.MainActivity" ... >
  • <intent-filter>
  • <action android:name="android.intent.action.MAIN" />
  • <category android:name="android.intent.category.LAUNCHER" />
  • </intent-filter>
  • </activity>
  • </application>
  • </manifest>

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า มีการประกาศ Activity ชื่อ MainActivity ที่อยู่ใน Package nutt.me.activity ไว้ภายในไฟล์ AndroidManifest.xml ในบรรทัดที่ 4


หน้าจอแสดงผลของ ตัวอย่างการคืนค่า View ณ ตำแหน่งที่กำหนดใน Gallery จากการเขียนคำสั่งข้างต้น

หน้าจอแสดงผลของ ตัวอย่างการคืนค่า View ณ ตำแหน่งที่กำหนดใน Gallery

จากรูปแสดงหน้าจอของ MainActivity

หน้าจอแสดงผลของ ตัวอย่างการคืนค่า View ณ ตำแหน่งที่กำหนดใน Gallery

จากรูปแสดงหน้าจอของ MainActivity เมื่อคลิกที่ปุ่ม "Show Selected Image" หลังจากมีการเลือก Item ตำแหน่งที่ 0 (ตำแหน่งแรกเริ่มนับที่ 0)

หน้าจอแสดงผลของ ตัวอย่างการคืนค่า View ณ ตำแหน่งที่กำหนดใน Gallery

จากรูปแสดงหน้าจอของ MainActivity เมื่อคลิกที่ปุ่ม "Show Selected Image" หลังจากมีการเลือก Item ตำแหน่งที่ 1 (ตำแหน่งแรกเริ่มนับที่ 0)

Download This Example

0 Comment

  • Have no comment.

Comment Tutorial

 
 
 
 
Share This Topic Login with Facebook