Gallery与ImageSwitcher的图片显示
来源:互联网 发布:mac打开app store很慢 编辑:程序博客网 时间:2024/05/22 03:15
一、Gallery图片显示
1、在activity_main.xml中正常定义一个Gallery:
<Galleryandroid:id="@+id/gallery"
android:layout_height="200dp"
android:layout_width="200dp"
/>
2、在drawable_hdpi中添加图片准备;
3、在MainActivity.java中实现:
package com.example.gallerytest;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
public class MainActivity extends Activity{
int[] pics ={
R.drawable.pic1,
R.drawable.pic2,
R.drawable.pic3,
R.drawable.pic4,
R.drawable.pic5,
R.drawable.pic6,
R.drawable.pic7,
R.drawable.pic1,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Gallery gallery = (Gallery)findViewById(R.id.gallery);
MyAdapter adapter = new MyAdapter(MainActivity.this);
gallery.setAdapter(adapter);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private class MyAdapter extends BaseAdapter{
Context c;
public MyAdapter(Context c){
this.c = c;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return pics.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return pics[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView view = null;
if(convertView!=null){
view = (ImageView) convertView;
}else{
view = new ImageView(c);
view.setImageResource(pics[position]);
view.setScaleType(ImageView.ScaleType.CENTER);
view.setLayoutParams(new Gallery.LayoutParams(200,200));
}
return view;
}
}
}
二、Gallery与ImageSwitcher结合显示图片
1、在activity_main.xml中正常定义一个Gallery:
<Gallery
android:id="@+id/gallery"
android:layout_height="200dp"
android:layout_width="200dp"
/>
<ImageSwitcher
android:id="@+id/switcher"
android:layout_height="200dp"
android:layout_width="200dp"
/>
2、在drawable_hdpi中添加图片准备;
3、Activity实现ViewFactory,即:implements ViewFactory;
4、在MainActivity.java中实现:
package com.example.gallerytest;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
public class MainActivity extends Activity implements ViewFactory{
int[] pics ={
R.drawable.pic1,
R.drawable.pic2,
R.drawable.pic3,
R.drawable.pic4,
R.drawable.pic5,
R.drawable.pic6,
R.drawable.pic7,
R.drawable.pic1,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Gallery gallery = (Gallery)findViewById(R.id.gallery);
MyAdapter adapter = new MyAdapter(MainActivity.this);
gallery.setAdapter(adapter);
final ImageSwitcher switcher = (ImageSwitcher)findViewById(R.id.switcher);
Log.d("test","switcher="+switcher);
switcher.setFactory(this);
gallery.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
Log.d("test","position="+arg2);
Log.d("test","switcher="+switcher);
switcher.setImageResource(pics[arg2]);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private class MyAdapter extends BaseAdapter{
Context c;
//初始化成员变量
//构建一个对象
//构造方法被调用一定会创建新的对象吗? 不一定 通过继承来回答
//任何一个类的间接父类是Object ?
//任何一个类在创建对象时是否会调用父类的构造方法?
//调用父类的构造方法是否创建了父类的对象?
//如果创建了父类的对象违背了什么原则?
//如果没有创建父类对象那么构造方法调用一定会创建对象吗?
//一定?不一定?
public MyAdapter(Context c){
this.c = c;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return pics.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return pics[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView view = null;
if(convertView!=null){
view = (ImageView) convertView;
}else{
view = new ImageView(c);
view.setImageResource(pics[position]);
view.setScaleType(ImageView.ScaleType.CENTER);
view.setLayoutParams(new Gallery.LayoutParams(200,200));
}
return view;
}
}
@Override
public View makeView() {
// TODO Auto-generated method stub
ImageView view = null;
view = new ImageView(MainActivity.this);
//view.setImageResource(pics[position]);
view.setScaleType(ImageView.ScaleType.CENTER);
view.setLayoutParams(new ImageSwitcher.LayoutParams(200,200));
Log.d("test","view="+view);
return view;
}
}
- Gallery与ImageSwitcher的图片显示
- ImageSwitcher与gallery图片浏览
- Eg:Gallery与ImageSwitcher结合的图片浏览小程序
- Android--Gallery与ImageSwitcher制作图片浏览器
- 图片切换ImageSwitcher&Gallery
- Gallery与ImageSwitcher的综合使用
- Gallery 与ImageSwitcher的结合使用
- Gallery 与ImageSwitcher的结合使用
- Gallery与ImageSwitcher结合的简单实现
- Gallery与ImageSwitcher总结
- (简单图片浏览器)imageSwitcher与gallery结合应用
- ImageSwitcher gallery 实现图片展示
- 使用ImageSwitcher和Gallery实现图片的浏览
- 使用ImageSwitcher和Gallery实现图片的浏览
- 图片切换器:剖析Gallery和ImageSwitcher的一些细节
- Gallery与ImageSwitcher的结合使用,点击下面的小图片,上面的大图片也相应的改变
- ImageSwitcher的使用(一):与Gallery配合使用
- ImageSwitcher 和 Gallery 的使用
- Linux初学者的简易脚本----自动配IP
- .net后台输出js关闭当前浏览器窗口
- linux多线程学习
- iOS GCD同步队列和同步任务 堵塞和死锁
- [leetcode-214]Shortest Palindrome(java)
- Gallery与ImageSwitcher的图片显示
- Mysql分表的三种方法
- 连接池
- 几种神经网络的简单区别和适用范围
- SDWebImage使用详解
- SpringMVC之注解和参数传递
- RTMP协议学习
- [分布式系统]-Apache kafka 工作原理介绍
- java序列化