imagineadapter的代码
package com.arc;import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;public class ImageAdapter extends BaseAdapter { // 定义Context
private Context mContext;
// 定义整型数组 即图片源, news1,news2,news3存放在 mImagineIds的数组中
private Integer[] mImageIds = { R.drawable.news1, R.drawable.news2,
R.drawable.news3 }; // 声明ImageAdapter
public ImageAdapter(Context c) {
mContext = c;
} // 获取图片的个数
public int getCount() {
return Integer.MAX_VALUE;
} // 获取图片在库中的位置
public Object getItem(int position) {
return position;
} // 获取图片ID
public long getItemId(int position) {
return position;
} public View getView(int position, View convertView, ViewGroup parent) {
// ImageView imageview = new ImageView(mContext);
//
// // 给ImageView设置资源
// imageview.setImageResource(mImageIds[position]);
// // 设置布局 图片120*120
// imageview.setLayoutParams(new Gallery.LayoutParams(120, 120));
// // 设置显示比例类型
// imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
//
// return imageview;
//下面的方法实现了循环播放。。
/* 创建一个ImageView对象 */
ImageView i = new ImageView(this.mContext);
i.setPadding(10, 10, 10, 10);
i.setLayoutParams(new Gallery.LayoutParams(300, 150));
//i.setAlpha(80);
// i.setImageResource(this.myImageIds[position]);
if(position<0){
position =position+mImageIds.length;
}
i.setImageResource(this.mImageIds[position% mImageIds.length]);
i.setScaleType(ImageView.ScaleType.FIT_XY);
//i.setBackgroundResource(mGalleryItemBackground);
/* 设置这个ImageView对象的宽高,单位为dip */
//i.setLayoutParams(new Gallery.LayoutParams(85, 72));
return i;
}
}gallery的代码
package com.arc;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;public class gallery_Act extends Activity
{
private ImageView[] mImageViewIds;// 小圆点ImageView数组
private static final int IMAGE_COUNT = 3;// 小圆点个数
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mImageViewIds = new ImageView[] {
(ImageView) findViewById(R.id.dot_1),
(ImageView) findViewById(R.id.dot_2),
(ImageView) findViewById(R.id.dot_3)};
//gallery
Gallery g = (Gallery) findViewById(R.id.gallery);
g.setAdapter(new ImageAdapter(this));
g.setSelection(200);
g.setOnItemClickListener(new GalleryItemListener());
g.setOnItemSelectedListener((OnItemSelectedListener) new GalleryItemSelectedListener());
}
class GalleryItemListener implements OnItemClickListener {
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Toast.makeText(gallery_Act.this, "你选择了" + (position + 1) + " 号图片",
Toast.LENGTH_SHORT).show(); }
}
class GalleryItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
int pos = position % IMAGE_COUNT;
mImageViewIds[pos].setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_focused));
// if (pos > 0) {
// mImageViewIds[pos - 1].setImageDrawable(getBaseContext()
// .getResources().getDrawable(R.drawable.ic_dot_normal));
// }
// if (pos < (IMAGE_COUNT - 1)) {
// mImageViewIds[pos + 1].setImageDrawable(getBaseContext()
// .getResources().getDrawable(R.drawable.ic_dot_normal));
// }
// if (pos == 0) {
// mImageViewIds[IMAGE_COUNT - 1]
// .setImageDrawable(getBaseContext().getResources()
// .getDrawable(R.drawable.ic_dot_normal));
// }
if (pos == 1) {
mImageViewIds[2]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
mImageViewIds[0]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
}
if (pos == 2) {
mImageViewIds[1]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
mImageViewIds[0]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
}
if (pos == 0) {
mImageViewIds[1]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
mImageViewIds[2]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
}
} public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
}
最后输出的时候三张图片(news1,news2,news3)没有显示,这是为什么?androidimageadaptergallery
package com.arc;import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;public class ImageAdapter extends BaseAdapter { // 定义Context
private Context mContext;
// 定义整型数组 即图片源, news1,news2,news3存放在 mImagineIds的数组中
private Integer[] mImageIds = { R.drawable.news1, R.drawable.news2,
R.drawable.news3 }; // 声明ImageAdapter
public ImageAdapter(Context c) {
mContext = c;
} // 获取图片的个数
public int getCount() {
return Integer.MAX_VALUE;
} // 获取图片在库中的位置
public Object getItem(int position) {
return position;
} // 获取图片ID
public long getItemId(int position) {
return position;
} public View getView(int position, View convertView, ViewGroup parent) {
// ImageView imageview = new ImageView(mContext);
//
// // 给ImageView设置资源
// imageview.setImageResource(mImageIds[position]);
// // 设置布局 图片120*120
// imageview.setLayoutParams(new Gallery.LayoutParams(120, 120));
// // 设置显示比例类型
// imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
//
// return imageview;
//下面的方法实现了循环播放。。
/* 创建一个ImageView对象 */
ImageView i = new ImageView(this.mContext);
i.setPadding(10, 10, 10, 10);
i.setLayoutParams(new Gallery.LayoutParams(300, 150));
//i.setAlpha(80);
// i.setImageResource(this.myImageIds[position]);
if(position<0){
position =position+mImageIds.length;
}
i.setImageResource(this.mImageIds[position% mImageIds.length]);
i.setScaleType(ImageView.ScaleType.FIT_XY);
//i.setBackgroundResource(mGalleryItemBackground);
/* 设置这个ImageView对象的宽高,单位为dip */
//i.setLayoutParams(new Gallery.LayoutParams(85, 72));
return i;
}
}gallery的代码
package com.arc;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;public class gallery_Act extends Activity
{
private ImageView[] mImageViewIds;// 小圆点ImageView数组
private static final int IMAGE_COUNT = 3;// 小圆点个数
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mImageViewIds = new ImageView[] {
(ImageView) findViewById(R.id.dot_1),
(ImageView) findViewById(R.id.dot_2),
(ImageView) findViewById(R.id.dot_3)};
//gallery
Gallery g = (Gallery) findViewById(R.id.gallery);
g.setAdapter(new ImageAdapter(this));
g.setSelection(200);
g.setOnItemClickListener(new GalleryItemListener());
g.setOnItemSelectedListener((OnItemSelectedListener) new GalleryItemSelectedListener());
}
class GalleryItemListener implements OnItemClickListener {
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Toast.makeText(gallery_Act.this, "你选择了" + (position + 1) + " 号图片",
Toast.LENGTH_SHORT).show(); }
}
class GalleryItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
int pos = position % IMAGE_COUNT;
mImageViewIds[pos].setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_focused));
// if (pos > 0) {
// mImageViewIds[pos - 1].setImageDrawable(getBaseContext()
// .getResources().getDrawable(R.drawable.ic_dot_normal));
// }
// if (pos < (IMAGE_COUNT - 1)) {
// mImageViewIds[pos + 1].setImageDrawable(getBaseContext()
// .getResources().getDrawable(R.drawable.ic_dot_normal));
// }
// if (pos == 0) {
// mImageViewIds[IMAGE_COUNT - 1]
// .setImageDrawable(getBaseContext().getResources()
// .getDrawable(R.drawable.ic_dot_normal));
// }
if (pos == 1) {
mImageViewIds[2]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
mImageViewIds[0]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
}
if (pos == 2) {
mImageViewIds[1]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
mImageViewIds[0]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
}
if (pos == 0) {
mImageViewIds[1]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
mImageViewIds[2]
.setImageDrawable(getBaseContext().getResources()
.getDrawable(R.drawable.ic_dot_normal));
}
} public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
}
最后输出的时候三张图片(news1,news2,news3)没有显示,这是为什么?androidimageadaptergallery
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货