扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
方法1: TextView显示
我们提供的服务有:成都网站设计、网站制作、微信公众号开发、网站优化、网站认证、阜平ssl等。为上1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的阜平网站制作公司
TextView
android:id="@+id/textview_01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_launcher"
android:text="hello_world" /
第二种方式:显示项目中的图片
mTextView02 = (TextView) findViewById(R.id.textview_02);
// 把图片生成的ID加入img标签中 img src='123'
String htmlFor02 = "项目图片测试:" + "img src='" + R.drawable.ic_launcher + "'" + "img src='"
+ R.drawable.apple + "'";
mTextView02.setText(Html.fromHtml(htmlFor02, new Html.ImageGetter() {
@Override
public Drawable getDrawable(String source) {
Log.d(TAG, "项目图片测试_source:" + source);
int id = Integer.parseInt(source);
Drawable drawable = getResources().getDrawable(id, null);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth() ,
drawable.getIntrinsicHeight());
return drawable;
}
}, null));
main.xml
先定义一个GridView,然后再定义一个ImageSwitcher
LinearLayout xmlns:android=""
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
GridView
android:id="@+id/gridView1"
android:layout_height="fill_parent"
android:layout_width="300px"
android:layout_marginTop="6px"
android:horizontalSpacing="3px"
android:verticalSpacing="3px"
android:numColumns="4"/
ImageSwitcher
android:id="@+id/imageSwicher1"
android:padding="20px"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/ImageSwitcher
/LinearLayout
MainActivity代码如下
public class MainActivity extends Activity {
private int[] imageId = new int[] { R.drawable.w1, R.drawable.w2,
R.drawable.w3, R.drawable.w4, R.drawable.w5, R.drawable.w6 };
private ImageSwitcher imageSwitcher;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwicher1);
imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));// 设置淡入动画
imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));// 设置谈出动画
imageSwitcher.setFactory(new ViewFactory() {
@Override
public View makeView() {
// TODO Auto-generated method stub
ImageView imageView = new ImageView(MainActivity.this);// 实例化一个ImageView类的对象
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);// 设置保持纵横比居中缩放图像
imageView.setLayoutParams(new ImageSwitcher.LayoutParams(// 主要要是用ImageSwitcher的LayoutParams
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
return imageView;
}
});
imageSwitcher.setImageResource(imageId[0]);
GridView gridView = (GridView) findViewById(R.id.gridView1);
BaseAdapter adapter = new BaseAdapter() {
/*
* 获得数量
*
* @see android.widget.Adapter#getCount()
*/
@Override
public int getCount() {
// TODO Auto-generated method stub
return imageId.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 imageView;
if (convertView == null) {
imageView = new ImageView(MainActivity.this);
/** 设置图像的宽度和高度 **/
imageView.setAdjustViewBounds(true);
imageView.setMaxWidth(150);
imageView.setMaxHeight(113);
imageView.setPadding(5, 5, 5, 5);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(imageId[position]);
return imageView;
}
};
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView? arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
imageSwitcher.setImageResource(imageId[arg2]);// 显示选中的图片
}
});
}
}
android中的imageview只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆形的图片,这个时候,我们就需要自定义imageview了,其原理就是首先获取到图片的bitmap,然后进行裁剪圆形的bitmap,然后在ondraw()进行绘制圆形图片输出。
ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shu" /
说明几点:
1、项目中资源文件名称不要用中文,把“树”改成"shu"
2、启动一个模拟器或者先连接自己的手机,在DDMS查看,如果有设备说明连接成功了,这时就可以运行这个程序了。
这里面的参数你都试一下,应该有一个可以。\x0d\x0aImageView的ScaleType属性\x0d\x0aImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)属性如下:CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截 取图片的居中部分显示\x0d\x0aCENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长 (宽)等于或大于View的长(宽)\x0d\x0aCENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小 或原来的size使得图片长/宽等于或小于View的长/宽\x0d\x0aFIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示\x0d\x0aFIT_END / fitEnd 把 图片按比例扩大/缩小到View的宽度,显示在View的下部分位置\x0d\x0aFIT_START / fitStart 把 图片按比例扩大/缩小到View的宽度,显示在View的上部分位置\x0d\x0aFIT_XY / fitXY 把图片 不按比例 扩大/缩小到View的大小显示
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流