Gallery图片索引 我做了个Gallery,想用ImageView做索引,就跟手机网站的那些新闻一样,假如有五张图片,就建5个ImageView做索引,点击第一个ImageView,Gallery就从当时的位置滑动到第一张图片。不是用setSelection。求各位牛人帮帮忙。Gallery 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没看懂,你图上那个东西不是ViewPager做的吗 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" > <com.alex.gallery_02.MyGallery android:id="@+id/myGallery" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@id/myGallery" android:layout_alignRight="@id/myGallery" android:orientation="horizontal" > <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:id="@+id/im1" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ad11" /> <ImageView android:id="@+id/im12" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ad12" /> </RelativeLayout> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:id="@+id/im2" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ad21" /> <ImageView android:id="@+id/im22" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ad22" /> </RelativeLayout> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:id="@+id/im3" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ad31" /> <ImageView android:id="@+id/im32" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ad32" /> </RelativeLayout> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:id="@+id/im4" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ad41" /> <ImageView android:id="@+id/im42" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ad42" /> </RelativeLayout> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:id="@+id/im5" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ad51" /> <ImageView android:id="@+id/im52" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ad52" /> </RelativeLayout> </LinearLayout></RelativeLayout> public class MainActivity extends Activity { private MyGallery myGallery; private int pre = 0; private int prev = 0; private int index = 0; private ImageView[][] ims = new ImageView[5][2]; //声明图片数组 public static int[] ads ={ R.drawable.ad11, R.drawable.ad21, R.drawable.ad31, R.drawable.ad41, R.drawable.ad51, }; public static int[] ads1 ={ R.drawable.ad12, R.drawable.ad22, R.drawable.ad32, R.drawable.ad42, R.drawable.ad52, }; public static int[] resIds = { R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e, }; private TimerTask task = new TimerTask() { @Override public void run() { Message message = new Message(); message.what = 2; handler.sendMessage(message); } }; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); int position = myGallery.getSelectedItemPosition(); index = position%resIds.length; switch (msg.what) { case 2: for(int i=0;i<ims.length;i++) { if(i==index) { ims[i][0].setVisibility(View.INVISIBLE); ims[i][1].setVisibility(View.VISIBLE); } else { ims[i][0].setVisibility(View.VISIBLE); ims[i][1].setVisibility(View.INVISIBLE); } } break; default: break; } } }; public class ImageAdapter extends BaseAdapter{ private Context context; private int count; public ImageAdapter(Context context) { // TODO Auto-generated constructor stub this.context = context; } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView= new ImageView(context); if (position < 0) { position = position + resIds.length; } imageView.setImageResource(resIds[position % resIds.length]); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setLayoutParams(new Gallery.LayoutParams(150, 120)); return imageView; } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myGallery = (MyGallery)findViewById(R.id.myGallery); ImageAdapter adapter = new ImageAdapter(this); myGallery.setAdapter(adapter); myGallery.setSelection(Integer.MAX_VALUE/2+2); myGallery.setUnselectedAlpha(1.1f); myGallery.setSpacing(30); ims[0][0] = (ImageView)findViewById(R.id.im1); ims[0][1] = (ImageView)findViewById(R.id.im12); ims[1][0] = (ImageView)findViewById(R.id.im2); ims[1][1] = (ImageView)findViewById(R.id.im22); ims[2][0] = (ImageView)findViewById(R.id.im3); ims[2][1] = (ImageView)findViewById(R.id.im32); ims[3][0] = (ImageView)findViewById(R.id.im4); ims[3][1] = (ImageView)findViewById(R.id.im42); ims[4][0] = (ImageView)findViewById(R.id.im5); ims[4][1] = (ImageView)findViewById(R.id.im52); for(int i=0;i<ims.length;i++) { ims[i][0].setOnClickListener(new ImageListener()); } Timer timer = new Timer(); timer.schedule(task,0,200); } 我想问的是ImageView的点击事件监听器怎么写。 android怎么访问天气webservice,用网上找的链接都不行啊 关于客户端登陆的问题 arduino的开发环境的问题 关于按钮按下和按上的问题 android_fs.tar解压后,再打包问题 [跪求]android如何实现通信 关于线程的问题 急求解答 如何让GridView的高度充满整个屏幕? 关于点击listview的问题 能否获得自身安装包的具体路径 那位同行介绍一下如何实现推送啊? 请教一个关于ffmpeg Deinterlace的问题
android:layout_width="match_parent"
android:layout_height="wrap_content" > <com.alex.gallery_02.MyGallery
android:id="@+id/myGallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content" /> <LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/myGallery"
android:layout_alignRight="@id/myGallery"
android:orientation="horizontal" > <RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" > <ImageView
android:id="@+id/im1"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ad11" /> <ImageView
android:id="@+id/im12"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ad12" />
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" > <ImageView
android:id="@+id/im2"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ad21" /> <ImageView
android:id="@+id/im22"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ad22" />
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" > <ImageView
android:id="@+id/im3"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ad31" /> <ImageView
android:id="@+id/im32"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ad32" />
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" > <ImageView
android:id="@+id/im4"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ad41" /> <ImageView
android:id="@+id/im42"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ad42" />
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" > <ImageView
android:id="@+id/im5"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ad51" /> <ImageView
android:id="@+id/im52"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ad52" />
</RelativeLayout>
</LinearLayout></RelativeLayout>
private MyGallery myGallery;
private int pre = 0;
private int prev = 0;
private int index = 0;
private ImageView[][] ims = new ImageView[5][2];
//声明图片数组
public static int[] ads ={
R.drawable.ad11,
R.drawable.ad21,
R.drawable.ad31,
R.drawable.ad41,
R.drawable.ad51,
};
public static int[] ads1 ={
R.drawable.ad12,
R.drawable.ad22,
R.drawable.ad32,
R.drawable.ad42,
R.drawable.ad52,
};
public static int[] resIds = {
R.drawable.a,
R.drawable.b,
R.drawable.c,
R.drawable.d,
R.drawable.e,
}; private TimerTask task = new TimerTask() {
@Override
public void run() {
Message message = new Message();
message.what = 2;
handler.sendMessage(message);
}
};
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int position = myGallery.getSelectedItemPosition();
index = position%resIds.length;
switch (msg.what) {
case 2:
for(int i=0;i<ims.length;i++)
{
if(i==index)
{
ims[i][0].setVisibility(View.INVISIBLE);
ims[i][1].setVisibility(View.VISIBLE);
}
else
{
ims[i][0].setVisibility(View.VISIBLE);
ims[i][1].setVisibility(View.INVISIBLE);
}
}
break;
default:
break;
}
}
};
public class ImageAdapter extends BaseAdapter{
private Context context;
private int count;
public ImageAdapter(Context context) {
// TODO Auto-generated constructor stub
this.context = context;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView= new ImageView(context);
if (position < 0) {
position = position + resIds.length;
}
imageView.setImageResource(resIds[position % resIds.length]);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new Gallery.LayoutParams(150, 120));
return imageView;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myGallery = (MyGallery)findViewById(R.id.myGallery);
ImageAdapter adapter = new ImageAdapter(this);
myGallery.setAdapter(adapter);
myGallery.setSelection(Integer.MAX_VALUE/2+2);
myGallery.setUnselectedAlpha(1.1f);
myGallery.setSpacing(30);
ims[0][0] = (ImageView)findViewById(R.id.im1);
ims[0][1] = (ImageView)findViewById(R.id.im12);
ims[1][0] = (ImageView)findViewById(R.id.im2);
ims[1][1] = (ImageView)findViewById(R.id.im22);
ims[2][0] = (ImageView)findViewById(R.id.im3);
ims[2][1] = (ImageView)findViewById(R.id.im32);
ims[3][0] = (ImageView)findViewById(R.id.im4);
ims[3][1] = (ImageView)findViewById(R.id.im42);
ims[4][0] = (ImageView)findViewById(R.id.im5);
ims[4][1] = (ImageView)findViewById(R.id.im52);
for(int i=0;i<ims.length;i++)
{
ims[i][0].setOnClickListener(new ImageListener());
}
Timer timer = new Timer();
timer.schedule(task,0,200);
}