MainActivity部分
package com.example.myapplication;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterViewFlipper;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.BaseAdapter;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListAdapter;
import android.widget.FrameLayout;
import android.widget.GridLayout;
import android.widget.GridView;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.MultiAutoCompleteTextView;
import android.widget.ProgressBar;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.StackView;
import android.widget.TextSwitcher;
import android.widget.TextView;
import android.widget.ViewAnimator;
import android.widget.ViewSwitcher;
import org.w3c.dom.Text;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class MainActivity extends Activity {
//定义图像ID数组
int[] imageIDs = new int[]{R.drawable.bomb5, R.drawable.bomb6, R.drawable.bomb7, R.drawable.bomb8,
R.drawable.bomb9, R.drawable.bomb10, R.drawable.bomb11, R.drawable.bomb12, R.drawable.bomb13,
R.drawable.bomb14, R.drawable.bomb15, R.drawable.bomb16};
//视图切换组件
ViewSwitcher viewSwitcher;
//图像组件初始值为0
int k = 0;
//声明图像切换组件
ImageSwitcher imageSwitcher;
//TextSwitecher用到的数组
String[] strings = new String[]{"one", "two", "你好吗", "今天天气不错呀"};
//声明TextSwitcher
TextSwitcher textSwitcher;
//Text初始化时用到的变量
int strs = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.spinner);
viewSwitcher = (ViewSwitcher) findViewById(R.id.viewswitcher);
ArrayList<Map<String, Object>> arrayList = new ArrayList<>();
for (int i = 0; i < imageIDs.length; i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", imageIDs[i]);
arrayList.add(map);
}
//生成viewFactory
final ViewSwitcher.ViewFactory viewFactory = new ViewSwitcher.ViewFactory() {
@Override
public View makeView() {
ImageView imageView = new ImageView(MainActivity.this);
imageView.setImageResource(imageIDs[0]);
return imageView;
}
};
//设置组件所用的viewFactory
viewSwitcher.setFactory(viewFactory);
//网格展示
GridView gridView = findViewById(R.id.grid_view);
BaseAdapter baseAdapter = new BaseAdapter() {
@Override
public int getCount() {
return imageIDs.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(MainActivity.this);
imageView.setImageResource(imageIDs[position]);
return imageView;
}
};
gridView.setAdapter(baseAdapter);
viewSwitcher.setInAnimation(MainActivity.this, android.R.anim.slide_in_left);
viewSwitcher.setOutAnimation(MainActivity.this, android.R.anim.slide_out_right);
//添加按钮切换View代码
findViewById(R.id.prv_btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (k == 0) {
k = 12;
}
((ImageView) (viewSwitcher.getNextView())).setImageResource(imageIDs[(int) ((--k) % 12)]);
viewSwitcher.showPrevious();
}
});
findViewById(R.id.next_btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((ImageView) (viewSwitcher.getNextView())).setImageResource(imageIDs[(int) ((++k) % 12)]);
viewSwitcher.showNext();
}
});
imageSwitcher = findViewById(R.id.imageswitcher);
imageSwitcher.setFactory(new ViewSwitcher.ViewFactory() {
@Override
public View makeView() {
ImageView imageView = new ImageView(MainActivity.this);
return imageView;
}
});
imageSwitcher.setInAnimation(this, android.R.anim.slide_in_left);
imageSwitcher.setOutAnimation(this, android.R.anim.slide_out_right);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
imageSwitcher.setImageResource(imageIDs[position]);
}
});
textSwitcher = findViewById(R.id.textswitcher);
textSwitcher.setFactory(new ViewSwitcher.ViewFactory() {
@Override
public View makeView() {
TextView textView = new TextView(MainActivity.this);
textView.setTextSize(20);
textView.setTextColor(Color.MAGENTA);
return textView;
}
});
textSwitcher.setInAnimation(MainActivity.this, android.R.anim.slide_in_left);
textSwitcher.setOutAnimation(MainActivity.this, android.R.anim.slide_out_right);
findViewById(R.id.prv_btn1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textSwitcher.setText(strings[(strs++) % (strings.length)]);
}
});
}
}
XML
<?xml version="1.0" encoding="utf-8"?><LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/prv_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="<" />
<Button
android:id="@+id/next_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:text=">" />
<Button
android:id="@+id/prv_btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="上一张" />
<Button
android:id="@+id/next_btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:text="下一张" />
</LinearLayout>
<ViewSwitcher
android:id="@+id/viewswitcher"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ViewSwitcher>
<GridView
android:id="@+id/grid_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="5">
</GridView>
<ImageSwitcher
android:id="@+id/imageswitcher"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ImageSwitcher>
<TextSwitcher
android:id="@+id/textswitcher"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextSwitcher>
<ViewFlipper
android:id="@+id/viewflipper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autoStart="true"
android:inAnimation="@android:anim/fade_in"
android:outAnimation="@android:anim/fade_out"
android:flipInterval="1000">
<ImageView
android:id="@+id/vf_im7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bomb7" />
<ImageView
android:id="@+id/vf_im8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bomb8" />
<ImageView
android:id="@+id/vf_im9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bomb9" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="今天去哪儿玩呀"
android:textSize="30dp"
android:textColor="#fff"
/>
</ViewFlipper>