【程序截屏】
一、
package com.example.ui5_1;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
public class MainActivity extends Activity {
private ImageSwitcher is_imageSwitcher;
//存放图片id的int数组
private int[] images={
R.drawable.p1,
R.drawable.p2,
R.drawable.p3,
R.drawable.p4,
R.drawable.p5,
};
private Button btn_next;
private Button btn_last;
private int index=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
is_imageSwitcher=(ImageSwitcher)findViewById(R.id.is_imageswitch);
btn_last=(Button)findViewById(R.id.btn_last);
btn_next=(Button)findViewById(R.id.btn_next);
is_imageSwitcher.setFactory(new ImageViewFactory(this));
is_imageSwitcher.setBackgroundResource(images[index]);
}
class ImageViewFactory implements ViewFactory
{
private Context context;
public ImageViewFactory(Context context)
{
this.context = context;
}
public View makeView() {
// TODO Auto-generated method stub
//定义每个图像的显示大小
ImageView iv = new ImageView(this.context);
iv.setLayoutParams(new ImageSwitcher.LayoutParams(300, 300));
return iv;
}
}
public void onClickLast(View v)
{
if(index>=0&&index<images.length-1)
{
index++;
is_imageSwitcher.setBackgroundResource(images[index]);
}else
{
index=images.length-1;
}
}
public void onClickNext(View v)
{
if(index>0&&index<images.length)
{
index--;
is_imageSwitcher.setBackgroundResource(images[index]);
}else
{
index=images.length-1;
}
}
@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;
}
}
二、
/** Automatically generated file. DO NOT MODIFY */
package com.example.ui5_1;
public final class BuildConfig {
public final static boolean DEBUG = true;
}
三、
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package com.example.ui5_1;
public final class R {
public static final class attr {
}
public static final class dimen {
/** Default screen margins, per the Android Design guidelines.
Customize dimensions originally defined in res/values/dimens.xml (such as
screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
*/
public static final int activity_horizontal_margin=0x7f040000;
public static final int activity_vertical_margin=0x7f040001;
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
public static final int p1=0x7f020001;
public static final int p2=0x7f020002;
public static final int p3=0x7f020003;
public static final int p4=0x7f020004;
public static final int p5=0x7f020005;
public static final int p6=0x7f020006;
public static final int p7=0x7f020007;
}
public static final class id {
public static final int action_settings=0x7f080003;
public static final int btn_last=0x7f080001;
public static final int btn_next=0x7f080002;
public static final int is_imageswitch=0x7f080000;
}
public static final class layout {
public static final int activity_main=0x7f030000;
}
public static final class menu {
public static final int main=0x7f070000;
}
public static final class string {
public static final int action_settings=0x7f050001;
public static final int app_name=0x7f050000;
public static final int hello_world=0x7f050002;
}
public static final class style {
/**
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
Base application theme for API 11+. This theme completely replaces
AppBaseTheme from res/values/styles.xml on API 11+ devices.
API 11 theme customizations can go here.
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
API 14 theme customizations can go here.
*/
public static final int AppBaseTheme=0x7f060000;
/** Application theme.
All customizations that are NOT specific to a particular API-level can go here.
*/
public static final int AppTheme=0x7f060001;
}
}
四、
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <ImageSwitcher android:id="@+id/is_imageswitch" android:layout_width="wrap_content" android:layout_height="fill_parent" > </ImageSwitcher> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <Button android:id="@+id/btn_last" android:layout_width="150px" android:layout_height="wrap_content" android:onClick="onClickLast" android:text="上一张" > </Button> <Button android:id="@+id/btn_next" android:layout_width="150px" android:layout_height="wrap_content" android:onClick="onClickNext" android:text="下一张" > </Button> </LinearLayout> </LinearLayout>