package com.example.addtextview;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class MainActivity extends Activity {
private String []product_pic_array = {"url","url"};
private String []product_title_array = {"11","22"};
private TextView title;
private ImageView pic ;
private LinearLayout ll_product ;
private int row = 0;
/**
* 远程读取文件
* @param imagePath
* @return
*/
public static Bitmap getBitmapFromServer(String imagePath) {
HttpGet get = new HttpGet(imagePath);
HttpClient client = new DefaultHttpClient();
Bitmap pic = null;
try {
HttpResponse response = client.execute(get);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
pic = BitmapFactory.decodeStream(is); // 关键是这句代码
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return pic;
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( R.layout.activity_main );
// 取得LinearLayout 物件
ll_product = (LinearLayout)findViewById(R.id.ll_product);
// 将TextView 加入到LinearLayout 中
if(product_pic_array!=null && product_pic_array.length==1){
new GetDataTask().execute(); //必须在新的线程中执行读取文件
}else{
new GetDataTask().execute();
}
}
//异步请求类
private class GetDataTask extends AsyncTask<Void, Void, List<ImageView>> {
protected List<ImageView> doInBackground(Void... params) {
List<ImageView> list = new ArrayList<ImageView>();
try {
for(int i=0;i<product_pic_array.length;i++){
Bitmap bitmap = getBitmapFromServer(product_pic_array[i]);
pic = new ImageView(MainActivity.this);
pic.setImageBitmap(bitmap);
list.add(pic);
}
} catch (Exception e) {
System.out.println(e);
}
return list;
}
protected void onPostExecute(List<ImageView> list) {
//在线程执行时不能把添加布局
if(list!=null && list.size()==1){
pic = (ImageView)list.get(0);
ll_product.addView(pic);//向布局中动态输入图片
title = new TextView(MainActivity.this); //向布局中动态输入TextView
title.setText(product_title_array[0]);
ll_product. addView (title);
}else{
for(int i=0;i<list.size();i++){
pic = (ImageView)list.get(i);
//设置图片高度宽度
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100);
pic.setLayoutParams(layoutParams);
ll_product.addView(pic);
}
}
}
}
}
相关推荐
2. **显示图片**:通常,我们会使用`ImageView`控件来展示图片。通过设置其`src`属性为`Drawable`资源,或者使用`Glide`、`Picasso`等库来加载网络或本地文件系统的图片。 3. **动态创建组件**:在需要动态添加图片...
在Android应用开发中,广告是常见的收入来源...综上所述,"android 广告效果图片动态显示"涉及到Android UI设计、动画、数据加载策略等多个方面,开发者需要综合运用这些技术来创建一个既吸引人又流畅的广告展示效果。
在Android中,我们需要一个能够解析这种格式并逐帧渲染的库来实现动态显示。 二、Android原生支持 早期的Android版本并不直接支持Gif,但从API 21(Lollipop)开始,Android引入了`android.graphics.Movie`类,它...
"AndroidRecyclerView动态添加本地图片" Android中使用RecyclerView实现动态添加本地图片是一种常见的需求,通过使用RecyclerView和图片选择library可以轻松实现该功能。本文将详细介绍如何使用RecyclerView实现...
在Android应用开发中,显示网络图片是一个常见的需求,特别是在构建社交、新闻或者电商类应用时。Android Studio作为官方推荐的Android开发集成环境,提供了丰富的工具和技术支持来实现这一功能。以下将详细介绍如何...
在Android开发中,动态显示GIF图片是一项常见的需求,尤其在制作动画效果或者加载等待界面时。本教程将深入探讨如何在Activity中实现这一功能,同时讲解如何对GIF图片的播放进行监听。 首先,我们需要引入能够处理...
`ImageView`用于加载和显示图片资源,可以通过XML布局文件或Java代码动态设置。在XML布局文件中,可以使用`android:src`属性指定图片资源,如`android:src="@drawable/my_image"`。同时,可以调整图片的尺寸和对齐...
文章是参考博客http://blog.csdn.net/eastmount/article/details/41808179完成,主要讲述通过GridView控件点击加号图片动态添加本地相册图片,点击图片可以删除已添加图片。同时界面比较美观。 免费资源,希望对大家...
在Android开发中,动态设置Activity背景图片是一项常见的需求,它能为用户带来更丰富的交互体验。本文将深入探讨如何通过源码实现这一功能,并提供一个实际的案例——wallTest。 首先,我们需要理解Android中的...
在Android开发中,GIF图片的处理是一项常见的需求,特别是在创建动态效果或者用户交互时。本文将详细讲解如何实现一个可以循环显示10张GIF图片的功能,这对于初学者来说是一次很好的学习机会。 首先,我们需要理解...
在Android开发中,实现“多张图片展示”的功能是一个常见的需求,尤其在社交应用中,如微信的朋友圈功能。这个功能允许用户通过多种途径选择图片,例如从相册选取多张图片或者直接拍照,之后还能提供删除选项。下面...
在显示图片时,如果需要在一张图片上叠加其他元素,FrameLayout是个不错的选择。 5. **图片优化**:为了提高用户体验,我们需要考虑图片的加载速度和内存占用。这包括图片的压缩、尺寸调整和缓存策略。例如,可以...
首先,我们需要在XML布局文件中定义一个`ImageView`控件,该控件用于显示图片。为了便于后续的动态调整,我们可以为`ImageView`设置`android:layout_width`和`android:layout_height`属性为`wrap_content`,并指定`...
在Android平台上,从指定文件夹显示图片涉及到一系列的步骤和技术,包括文件系统操作、图片加载库的使用以及UI设计。以下是对这个主题的详细讲解: 首先,我们需要理解Android的文件系统结构。Android设备通常有两...
在Android开发中,按时间顺序显示图片是一项常见的需求,尤其在相册应用或者日志记录类应用中。这个任务涉及到图像处理、数据存储以及UI布局等多个方面。下面将详细讲解如何实现这一功能。 首先,我们需要获取到...
Android提供了多种图片加载库,如Glide、Picasso、 Fresco等,它们能够有效地处理图片的加载、缓存和显示,避免内存溢出等问题。以Glide为例,可以使用`Glide.with(context).load(imagePath).into(imageView)`一行...
在Android平台上,我们通常会使用ImageView组件来显示图片,但是要实现图片的全屏展示以及平滑缩放,需要更深入地理解和运用Android的图形库。 1. **ImageView组件**:Android中的ImageView是最基础的图片展示组件...
在Android开发过程中,图片资源是...综上所述,Android开发中的图片处理涉及多个层面,包括格式选择、尺寸适配、资源优化、动态加载以及动画效果等。掌握这些知识点将有助于开发者创建出美观且性能优秀的Android应用。
1. ImageView组件:Android系统自带的ImageView是显示图片的基本控件,可以通过setImageBitmap()、setImageResource()等方法设置图片。 2. 使用Matrix进行图片缩放:当需要对图片进行放大缩小等操作时,可以利用...
Android提供了`Glide`或`Picasso`等库,它们能方便地加载和显示图片。只需提供图片的URI或本地路径,它们会自动处理缩放、缓存等问题。 7. **代码实现**:在`ChoseSingleImgDemo`项目中,应该包含了实现上述功能的...