2012-08-17 62 views
0

我正在處理一個包含圖庫中某些圖像的項目,我想添加具有相應於所選圖像的按鈕的文本。我如何添加這個?在圖庫中添加帶按鈕的文本視圖

這是代碼:

import android.app.Activity; 
import android.content.Context; 
import android.content.res.TypedArray; 
import android.os.Bundle; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.BaseAdapter; 
import android.widget.Gallery; 
import android.widget.ImageView; 
import android.widget.Toast; 
import android.widget.AdapterView.OnItemClickListener; 

public class GalleryView extends Activity { 
Integer[] pics = { 
     R.drawable.antartica1, 
     R.drawable.antartica2, 
     R.drawable.antartica3, 
     R.drawable.antartica4, 
     R.drawable.antartica5, 
     R.drawable.antartica6, 
     R.drawable.antartica7, 
     R.drawable.antartica8, 
     R.drawable.antartica9, 
     R.drawable.antartica10 
}; 
ImageView imageView; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Gallery ga = (Gallery)findViewById(R.id.Gallery01); 
    ga.setAdapter(new ImageAdapter(this)); 

    imageView = (ImageView)findViewById(R.id.ImageView01); 
    ga.setOnItemClickListener(new OnItemClickListener() { 

     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 
      Toast.makeText(getBaseContext(), 
        "You have selected picture " + (arg2+1) + " of Antartica", 
        Toast.LENGTH_SHORT).show(); 
      imageView.setImageResource(pics[arg2]); 

     } 

    }); 

} 


public class ImageAdapter extends BaseAdapter { 

    private Context ctx; 
    int imageBackground; 

    public ImageAdapter(Context c) { 
     ctx = c; 
     TypedArray ta = obtainStyledAttributes(R.styleable.Gallery1); 
     imageBackground = ta.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 1); 
     ta.recycle(); 
    } 

    public int getCount() { 

     return pics.length; 
    } 

    public Object getItem(int arg0) { 

     return arg0; 
    } 

    public long getItemId(int arg0) { 

     return arg0; 
    } 

    public View getView(int arg0, View arg1, ViewGroup arg2) { 
     ImageView iv = new ImageView(ctx); 
     iv.setImageResource(pics[arg0]); 
     iv.setScaleType(ImageView.ScaleType.FIT_XY); 
     iv.setLayoutParams(new Gallery.LayoutParams(150,120)); 
     iv.setBackgroundResource(imageBackground); 
     return iv; 
    } 

} 
} 

XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 

<Gallery 
android:id="@+id/Gallery01" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"></Gallery> 
<ImageView 
android:id="@+id/ImageView01" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"></ImageView> 


</LinearLayout> 

回答

0

那麼你可以讓你自己定義庫中的每個圖像可在網格視圖跟隨以下文本視圖中查看縮略圖和一個按鈕(可能需要刪除圖像)。

要從你必須實現的ArrayList或者你可以採取的收集體系的其他oferings存儲卡動態查看圖片..

和我一樣的,它與我的工作,希望將與您合作過。

相關問題