經過這幾天的爬文,總算解決Gallery廢棄的問題
利用horizontalscrollview+LinearLayout+ImageView這三種
做法就是在horizontalscrollview內塞一個LinearLayout,然後利用迴圈把ImageView全部塞入LinearLayout,成品如下圖所示
Activity原始碼:
package com.example.pj3;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ViewSwitcher.ViewFactory;
import android.app.Activity;
import android.content.Context;
import com.example.pj3.R;
public class Anothergallery extends Activity implements ViewFactory {
//原圖
private Integer[] imgArr = {
R.drawable.d1b, R.drawable.d2b, R.drawable.d3b, R.drawable.d4b,
R.drawable.d5b, R.drawable.d6b, R.drawable.d7b, R.drawable.d8b,
R.drawable.d9b, R.drawable.d10b, R.drawable.d11b, R.drawable.d12b,
R.drawable.d13b, R.drawable.d14b, R.drawable.d15b, R.drawable.d16b
};
//縮圖
private Integer[] thumbImgArr = {
R.drawable.d1, R.drawable.d2, R.drawable.d3, R.drawable.d4,
R.drawable.d5, R.drawable.d6, R.drawable.d7, R.drawable.d8,
R.drawable.d9, R.drawable.d10, R.drawable.d11, R.drawable.d12,
R.drawable.d13, R.drawable.d14, R.drawable.d15, R.drawable.d16
};
private LinearLayout linelay;
private ImageSwitcher imgSwi2;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.anothergallery);
linelay = (LinearLayout)findViewById(R.id.anogallery);
imgSwi2 = (ImageSwitcher)findViewById(R.id.imgSw2);
imgSwi2.setFactory(this);
imgSwi2.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
imgSwi2.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
for(int i=0; i < thumbImgArr.length; i++)
{
linelay.addView(getImageView(i));
}
}
private ImageView getImageView(int i){
ImageView img = new ImageView(this);
img.setImageResource(thumbImgArr[i]);
img.setId(i);
img.setOnClickListener(new View.OnClickListener(){
public void onClick(View v)
{
imgSwi2.setImageResource(imgArr[v.getId()]);
Toast.makeText(v.getContext(), "您選擇了"+(v.getId()+1), Toast.LENGTH_SHORT).show();
}
});
return img;
}
public View makeView(){
ImageView v1 = new ImageView(this);
v1.setBackgroundColor(0xFF000000);
v1.setScaleType(ImageView.ScaleType.FIT_CENTER);
v1.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
return v1;
}
}
============================分隔線==================================
配置檔:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageSwitcher
android:id="@+id/imgSw2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ImageSwitcher>
<HorizontalScrollView
android:id="@+id/honScview"
android:layout_width="match_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/anogallery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>