Android基础TOP6_3:Gally和ImageSwitcher实现画廊
结构:

Activity:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.top6_3.MainActivity" >
<Gallery
android:id="@+id/gly"
android:layout_height="60dp"
android:layout_width="fill_parent"
android:animationDuration=""
android:gravity="center_vertical"
android:spacing="20dp"
android:unselectedAlpha="0.5"
android:background="#55000000"
/>
<ImageSwitcher
android:paddingTop="10dp"
android:id="@+id/is"
android:layout_width="wrap_content"
android:layout_height="match_parent"></ImageSwitcher> </LinearLayout>
JAVA:
MainActivity类:
package com.example.top6_3; import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Gallery.LayoutParams;
import android.widget.AdapterView;
import android.widget.Gallery;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory; public class MainActivity extends Activity {
private Gallery gal;
private ImageView iv;
private ImageAdapter adapter;
private ImageSwitcher is;
private static final int[] imgslds={
R.drawable.bjl,
R.drawable.dfhgc,
R.drawable.fg,
R.drawable.gj
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
is=(ImageSwitcher) findViewById(R.id.is);
is.setFactory(new ViewFactory() { @Override
public View makeView() {
// TODO Auto-generated method stub
ImageView i=new ImageView(getApplicationContext());
//i.setBackgroundColor(0Xff000000);
i.setScaleType(ImageView.ScaleType.FIT_CENTER);
i.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
return i;
}
});
is.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
is.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
gal=(Gallery) findViewById(R.id.gly);
adapter=new ImageAdapter(this);
gal.setAdapter(adapter);
gal.setOnItemSelectedListener(gaILidstener);
}
private Gallery.OnItemSelectedListener gaILidstener=new Gallery.OnItemSelectedListener() { @Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
is.setImageResource(imgslds[position]);
} @Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub } };
}
ImageAdapter类:
package com.example.top6_3; import android.R.integer;
import android.content.Context;
import android.view.Gravity;
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 {
private Context context; private static final int[] imgslds={
R.drawable.bjl,
R.drawable.dfhgc,
R.drawable.fg,
R.drawable.gj
};
public ImageAdapter(Context c){
context=c; }
public int getCount() {
// TODO Auto-generated method stub
//
return imgslds.length; } @Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return 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 iv=new ImageView(context);
iv.setImageResource(imgslds[position]);
iv.setScaleType(ImageView.ScaleType.FIT_CENTER);
iv.setLayoutParams(new Gallery.LayoutParams(,));
//iv.setBackgroundResource(R.drawable.bjl);
return iv; } }
效果图:

Android基础TOP6_3:Gally和ImageSwitcher实现画廊的更多相关文章
- Android基础测试题(四)
看了前两道题大家有没有发现,测试题少了(一),大家猜猜测试题(一)是什么? Android基础测试题(四): 需求: 建一个方法,格式化输出2016-11-14 10:15:26格式的当前时间,然后截 ...
- Android基础测试题(二)
今天给大家带来的是Android基础测试题(二) 题目要求: 定义一个5位长度的整型数组并初始化,然后构建方法根据用户传入的数字判断是否存在数组中,如果存在,返回所在位置,如果不存在,返回-1 首先第 ...
- Mono.Android 基础
Mono.Android 基础 (地址) Mono.Android项目结构是 — Project + Assets + Resources + drawable + layout + values R ...
- 深入理解gradle编译-Android基础篇
深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...
- android基础---->JSON数据的解析
上篇博客,我们谈到了XML两种常用的解析技术,详细可以参见我的博客(android基础---->XMl数据的解析).网络传输另外一种数据格式JSON就是我们今天要讲的,它是比XML体积更小的数据 ...
- 基础4 Android基础
基础4 Android基础 1. Activity与Fragment的生命周期. Activity生命周期 打开应用 onCreate()->onStart()->onResume 按BA ...
- Android基础总结(8)——服务
服务(Service)是Android中实现程序后台运行的解决方案,它非常适合用于去执行哪些不需要和用户交互而且还要长期运行的任务.服务的运行不依赖任何用户界面,即使当程序被切换到后台,或者用户打开了 ...
- 【Xamarin开发 Android 系列 4】 Android 基础知识
原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android? Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Li ...
- Android基础_web通信3
在Android基础_web通信2中,我运用的JSONObject是Android原生的json类,通过import org.json.JSONObject来导入. 还有另外一种更简单的方法,就是用G ...
随机推荐
- 如何利用神经网络和Python生成指定模式的密码
今天给大家介绍的是Github上一个名叫PyMLProjects的项目,这个项目的目的是为了训练AI来学习人类构造密码的模式,然后我们就可以用AI来生成大量同一模式或种类的密码了.这种方法也许可以用来 ...
- MyEclipse 8.5安装Aptana
Aptana简单介绍 Aptana是一个很强大,开源,专注于JavaScript的Ajax开发IDE它的特性包含: 1.JavaScript,JavaScript函数,HTML,CSS语言的Co ...
- 【SSO】--单点登录之过滤器(filter)
在单点登录的探索中.用到一个知识点:过滤器(filter).常见的几种验证:Authorization filters,验证用户是否有权限訪问页面:Action Filter,验证用户登录的时候是否用 ...
- linux下配置LAMP开发环境,以及经常使用小细节
本来安装没什么可说到.可是在linux其中easy会出现各种各样到问题. 我安装以后导致各种问题 比方php无法正常解析,数据库无法关闭,Apache无法开启等等........ 所以搞得我比較郁闷, ...
- java创建线程的三种方式及其对照
Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)定义Thread类的子类.并重写该类的run方法,该run方法的方法体就代表了线程要完毕的任务.因此把run()方法称为运行 ...
- 制作NGUI动态字体
在ngui中有两种制做字体的方式.一种是bmfont等工具制作字体图集的方法,这样的方法呢是动态的.生成的图集有多个字就是多少个字,要多加一 个字要又一次用工具做一次,非常是麻烦. 而汉字有太多,我们 ...
- 前端为啥要用javascript框架
前端使用EXT.JS,如果存在两个控件,其中A控件的ID 与 B控件的name相同的话,会报错.ID不能存在相同的情况众所周知,而不同的控件,name也不能相同,恐怕只有遇到过的人才知道了,这不,我就 ...
- jQuery.uploadify文件上传组件实例讲解
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- BZOJ_3175_[Tjoi2013]攻击装置_二分图匹配
BZOJ_3175_[Tjoi2013]攻击装置_二分图匹配Description 给定一个01矩阵,其中你可以在0的位置放置攻击装置.每一个攻击装置(x,y)都可以按照“日”字攻击其周围的 8个位置 ...
- 【POJ 3352】 Road Construction
[题目链接] 点击打开链接 [算法] tarjan算法求边双联通分量 [代码] #include <algorithm> #include <bitset> #include ...