中山响应式网站,网站开发之美 pdf,seo外贸推广,wordpress 导入的模板在 Android 中使用各种控件(View) TextSwitcher - 文字转换器控件#xff08;改变文字时增加一些动画效果#xff09;Gallery - 缩略图浏览器控件ImageSwitcher - 图片转换器控件#xff08;改变图片时增加一些动画效果#xff09;GridView - 网格控件ListView - 列表控件E… 在 Android 中使用各种控件(View) TextSwitcher - 文字转换器控件改变文字时增加一些动画效果Gallery - 缩略图浏览器控件ImageSwitcher - 图片转换器控件改变图片时增加一些动画效果GridView - 网格控件ListView - 列表控件ExpandableList - 支持展开/收缩功能的列表控件 1、TextSwitcher 的 Demotextswitcher.xml 代码 ?xml version1.0 encodingutf-8?LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android android:orientationvertical android:layout_widthfill_parent android:layout_heightfill_parent Button android:idid/btnChange android:layout_widthwrap_content android:layout_heightwrap_content android:text改变文字 / !-- TextSwitcher - 文字转换器控件改变文字时增加一些动画效果 -- TextSwitcher android:idid/textSwitcher android:layout_widthfill_parent android:layout_heightwrap_content //LinearLayout _TextSwitcher.java 代码 package com.webabcd.view;import java.util.Random;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.Button;import android.widget.TextSwitcher;import android.widget.TextView;import android.widget.ViewSwitcher;public class _TextSwitcher extends Activity implements ViewSwitcher.ViewFactory { Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.setContentView(R.layout.textswithcer); setTitle(TextSwithcer); final TextSwitcher switcher (TextSwitcher) findViewById(R.id.textSwitcher); // 指定转换器的 ViewSwitcher.ViewFactory switcher.setFactory(this); // 设置淡入和淡出的动画效果 Animation in AnimationUtils.loadAnimation(this, android.R.anim.fade_in); Animation out AnimationUtils.loadAnimation(this, android.R.anim.fade_out); switcher.setInAnimation(in); switcher.setOutAnimation(out); // 单击一次按钮改变一次文字 Button btnChange (Button) this.findViewById(R.id.btnChange); btnChange.setOnClickListener(new View.OnClickListener() { Override public void onClick(View v) { switcher.setText(String.valueOf(new Random().nextInt())); } }); } // 重写 ViewSwitcher.ViewFactory 的 makeView()返回一个 View Override public View makeView() { TextView textView new TextView(this); textView.setTextSize(36); return textView; }} 2、Gallery 的 Demogallery.xml 代码 ?xml version1.0 encodingutf-8?LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android android:orientationvertical android:layout_widthfill_parent android:layout_heightfill_parent !-- Gallery - 缩略图浏览器控件 spacing - 缩略图列表中各个缩略图之间的间距 -- Gallery android:idid/gallery android:layout_widthfill_parent android:layout_heightwrap_content android:spacing20px //LinearLayout _Gallery.java 代码 package com.webabcd.view;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;import android.widget.Toast;import android.widget.Gallery.LayoutParams;public class _Gallery extends Activity { Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.setContentView(R.layout.gallery); setTitle(Gallery); Gallery gallery (Gallery) findViewById(R.id.gallery); // 为缩略图浏览器指定一个适配器 gallery.setAdapter(new ImageAdapter(this)); // 响应 在缩略图列表上选中某个缩略图后的 事件 gallery.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { Override public void onItemSelected(AdapterView? parent, View v, int position, long id) { Toast.makeText(_Gallery.this, String.valueOf(position), Toast.LENGTH_SHORT).show(); } Override public void onNothingSelected(AdapterView? arg0) { } }); } // 继承 BaseAdapter 用以实现自定义的图片适配器 public class ImageAdapter extends BaseAdapter { private Context mContext; public ImageAdapter(Context context) { mContext context; } public int getCount() { return mThumbIds.length; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ImageView image new ImageView(mContext); image.setImageResource(mThumbIds[position]); image.setAdjustViewBounds(true); image.setLayoutParams(new Gallery.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); return image; } } // 需要显示的图片集合 private Integer[] mThumbIds { R.drawable.icon01, R.drawable.icon02, R.drawable.icon03, R.drawable.icon04, R.drawable.icon05 };} 3、ImageSwitcher 的 Demoimageswitcher.xml 代码 ?xml version1.0 encodingutf-8?LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android android:orientationvertical android:layout_widthfill_parent android:layout_heightfill_parent Gallery android:idid/gallery android:layout_widthfill_parent android:layout_heightwrap_content android:spacing20px / !-- ImageSwitcher - 图片转换器控件改变图片时增加一些动画效果 -- ImageSwitcher android:idid/imageSwitcher android:layout_widthfill_parent android:layout_heightwrap_content //LinearLayout _ImageSwitcher.java 代码 package com.webabcd.view;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.view.animation.AnimationUtils;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageSwitcher;import android.widget.ImageView;import android.widget.ViewSwitcher;import android.widget.Gallery.LayoutParams;// 图片转换器的使用基本同文字转换器// 以下是一个用 ImageSwitcher Gallery 实现的经典的图片浏览器的 Demopublic class _ImageSwitcher extends Activity implements ViewSwitcher.ViewFactory { private ImageSwitcher mSwitcher; Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.setContentView(R.layout.imageswithcer); setTitle(ImageSwithcer); mSwitcher (ImageSwitcher) findViewById(R.id.imageSwitcher); mSwitcher.setFactory(this); mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in)); mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out)); Gallery gallery (Gallery) findViewById(R.id.gallery); gallery.setAdapter(new ImageAdapter(this)); gallery.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { Override public void onItemSelected(AdapterView? parent, View v, int position, long id) { mSwitcher.setImageResource(mImageIds[position]); } Override public void onNothingSelected(AdapterView? arg0) { } }); } public class ImageAdapter extends BaseAdapter { private Context mContext; public ImageAdapter(Context context) { mContext context; } public int getCount() { return mThumbIds.length; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ImageView image new ImageView(mContext); image.setImageResource(mThumbIds[position]); image.setAdjustViewBounds(true); image.setLayoutParams(new Gallery.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); return image; } } private Integer[] mThumbIds { R.drawable.icon01, R.drawable.icon02, R.drawable.icon03, R.drawable.icon04, R.drawable.icon05 }; private Integer[] mImageIds { R.drawable.icon01, R.drawable.icon02, R.drawable.icon03, R.drawable.icon04, R.drawable.icon05 }; Override public View makeView() { ImageView image new ImageView(this); image.setMinimumHeight(200); image.setMinimumWidth(200); image.setScaleType(ImageView.ScaleType.FIT_CENTER); image.setLayoutParams(new ImageSwitcher.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); return image; }} 4、GridView 的 Demogridview.xml 代码 ?xml version1.0 encodingutf-8?!-- GridView - 网格控件 numColumnsauto_fit - 列数自适应 stretchMode - 缩放模式stretchModecolumnWidth - 缩放与列宽大小同步--GridView xmlns:androidhttp://schemas.android.com/apk/res/android android:idid/gridView android:layout_widthfill_parent android:layout_heightfill_parent android:padding10px android:verticalSpacing10px android:horizontalSpacing10px android:numColumnsauto_fit android:columnWidth60px android:stretchModecolumnWidth android:gravitycenter/GridView _GridView.java 代码 package com.webabcd.view;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;public class _GridView extends Activity { Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.setContentView(R.layout.gridview); setTitle(GridView); GridView gridView (GridView) findViewById(R.id.gridView); // 指定网格控件的适配器为自定义的图片适配器 gridView.setAdapter(new ImageAdapter(this)); } // 自定义的图片适配器 public class ImageAdapter extends BaseAdapter { private Context mContext; public ImageAdapter(Context context) { mContext context; } public int getCount() { return mThumbIds.length; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView null) { imageView new ImageView(mContext); imageView.setLayoutParams(new GridView.LayoutParams(48, 48)); imageView.setAdjustViewBounds(false); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setPadding(5, 5, 5, 5); } else { imageView (ImageView) convertView; } imageView.setImageResource(mThumbIds[position]); return imageView; } // 网格控件所需图片数据的数据源 private Integer[] mThumbIds { R.drawable.icon01, R.drawable.icon02, R.drawable.icon03, R.drawable.icon04, R.drawable.icon05 }; }} 5、ListView 的 Demomain_list_adapter.xml 代码 ?xml version1.0 encodingutf-8?!-- 自定义列表适配器的 layout--LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android android:orientationhorizontal android:layout_widthfill_parent android:layout_heightfill_parent TextView android:idid/text android:layout_widthwrap_content android:layout_heightwrap_content android:textSize16sp /TextView/LinearLayout 转载于:https://www.cnblogs.com/wzh206/archive/2010/04/28/1723383.html