android 图片浏览器 布局,Android实现网络图片浏览器
本文实例为大家分享了Android网络图片浏览器的制作过程,供大家参考,具体内容如下
一、创建一个“网络图片浏览器的应用程序”,并设计用户交互界面,“网络图片浏览器”对应的布局文件(activity_main.xml)代码如下:
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:orientation="vertical"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.bz0209.myapplication.MainActivity">
android:layout_weight="1000"
android:id="@+id/iv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
android:singleLine="true"
android:id="@+id/et_path"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="http://b.hiphotos.baidu.com/image/w%3D310/sign=a439f5b24510b912bfc1f0fff3fdfcb5/83025aafa40f4bfb92c52c5d014f78f0f73618a5.jpg"
android:hint="请输入图片路径"
/>
android:onClick="click"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="浏览"
/>
效果图如下:
二、编写界面交互代码(MainActivity),当界面创建好后,需要在MainActivity里面编写与界面交互的代码。用于实现请求指定地址的网络图片,并将服务器返回的图片展现在界面上。具体代码如下:
package com.example.bz0209.myapplication;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
protected static final int CHANGE_UI=1;
protected static final int ERROR=2;
private EditText et_path;
private ImageView iv;
//主线创建消息处理器
private Handler handler=new Handler(){
public void handleMessage(android.os.Message msg){
if (msg.what==CHANGE_UI){
Bitmap bitmap=(Bitmap)msg.obj;
iv.setImageBitmap(bitmap);
}else if (msg.what==ERROR){
Toast.makeText(MainActivity.this,"显示图片错误",0).show();
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_path=(EditText)findViewById(R.id.et_path);
iv=(ImageView) findViewById(R.id.iv);
}
public void click(View view){
final String path=et_path.getText().toString().trim();
if (TextUtils.isEmpty(path)){
Toast.makeText(this,"图片路径不能为空",0).show();
}
else {
//子线程请求网络,Android 4.0以后访问网络不能放在子线程中
new Thread(){
private HttpURLConnection conn;
private Bitmap bitmap;
public void run(){
//链接服务器get请求,获取图片
try{
//创建URL对象
URL url =new URL(path);
conn=(HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setRequestProperty("User-Agent","Mozilla/4.0 (compatib;MSIE 6.0;Window NT 5.1;"+"SV1;" +
".NET4.0C;.NET4.0E;NET CLK 2.0.50727;"+".NET CLR 3.0..4506.2152;.NET CLR 3.5.30729; Shuame )");
int code=conn.getResponseCode();
if(code==200){
InputStream is=conn.getInputStream();
bitmap= BitmapFactory.decodeStream(is);
Message msg=new Message();
msg.what=CHANGE_UI;
msg.obj=bitmap;
handler.sendMessage(msg);
}
else {
Message msg=new Message();
msg.what=ERROR;
handler.sendMessage(msg);
}
}catch (Exception e){
e.printStackTrace();
Message msg=new Message();
msg.what=ERROR;
}
}
}.start();
}
}
}
三、添加权限:由于网络图片浏览器需要请求网络,因此需要在清单文件中配置相应的权限,具体操作如下图所示:
四、运行浏览图片 ,结果图如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
android 图片浏览器 布局,Android实现网络图片浏览器相关推荐
- android 图片文字布局,Android自定义控件图片+文字布局
本来想用Tabrow来布局一组上面是图片下面是文字说明的控件,可是发现Tabrow不像想象的那样简易,并且这几组之间的控件距离很差把握,在网上找了两种方法以供参照.html 方法1.利用RadioBu ...
- android 图片文字布局,Android代码实现图片和文字上下布局
在Android开发中经常会需要用到带文字和图片的button,下面来给大家介绍使用radiobutton实现图片和文字上下布局或左右布局.代码很简单就不给大家多解释了. 布局文件很简单,用来展示Ra ...
- Android 图片网格布局控件
Android 图片网格布局控件 项目地址:MultiPictureView MultiPictureView是一个可以将多张图片以网格的方式显示的View,通过简单的接口实现烦人的布局,从此解放你的 ...
- Android图片系列-2.Android App图片压缩、裁剪分析整理
移动端常用的图片格式有PNG和JPEG,目前ios手机和大部分安卓手机拍照生成的图片默认格式都是JPEG.我们开发APP的时候通常使用的是PNG,这可能是考虑到图片质量效果.PNG图片是无损压缩格式, ...
- android图片解码显示,android 图片解码显示流程
问题来源 android 可以在 gallery 里面显示内部存储的图片,支持 jpeg,png,gif,bmp 等,甚至文件类型和图片后缀名不一致,只要是图片文件就能显示,然后 git 只会显示第一 ...
- android 图片查看动画,Android 共享动画实现点击列表图片跳转查看大图页面
主要内容使用系统提供的 API 实现共享动画 在实现过程中遇到的问题图片点击和关闭之后会出现短暂的黑屏问题实现的动画效果如下: 共享动画.gif 具体实现这个效果是在两个页面之间的切换动画,既然是两个 ...
- android图片保存形式,Android应用开发之Android ScrollView截图和图片保存到相册的方式...
本文将带你了解Android应用开发之Android ScrollView截图和图片保存到相册的方式,希望本文对大家学Android有所帮助. 1.1首先来看你一种截取屏幕,这种代码有缺陷,只能截取一 ...
- Android图片上倒计时,Android自定义照相机倒计时拍照
自定义拍照会用到SurfaceView控件显示照片的预览区域,以下是布局文件: 两个TextView是用来显示提示信息和倒计时的秒数的 xmlns:tools="http://schemas ...
- android 图片切割代码,Android用clip剪切图像资源
使用clip剪切图像资源可以做进度条,图像慢慢展开的效果,他使用以下几个属性来控制效果: android:drawable:指定要剪切的原图像. android:clipOrientation:截取的 ...
最新文章
- 机器人~TCP/IP通信
- ospf避免环路_OSPF路由协议的区域防环机制
- 用VC开发串口通信dll控件
- u盘添加veket linux,veket要怎样才能安在u盘上?
- java 正则 最后一个字符_正则表达式怎么匹配字符串中最后一串数字?
- 国内外ACM/ICPC的OJ,BBS列表
- Hive的数据库和表
- Using Swift with Cocoa and Objective-C(Swift 2.0版):开始--基础设置-备
- log4j deadlock
- step7db块寻址_STEP7数据块DB问题
- Java中文姓名拆分
- fiddler手机模拟器抓包_fiddler抓取手机模拟器数据
- 前后端程序员工作简单概述
- 使用JavaBean创建您的网上日历本(2)
- 在Centos上启动nodejs项目,并使用pm2管理nodejs应用
- 华为AC旁路二层组网隧道转发示例
- 用Python制作高逼格数学动画manim
- 关于如何解决FFMPEG截视频图像慢的问题
- 商标注册流程有什么步骤
- [入门]树(treeview)控件制作导航的做法(三)
热门文章
- Android中Textview文字设置不同颜色、下划线、加粗、超链接
- http 415 unsupported media type 报错解决方案
- java hincrby_挖坑记录-redistemplate hincrby
- Windows下使用Word写论文时,删除页眉下多余的横线
- [附源码]Nodejs计算机毕业设计健身房管理系统Express(程序+LW)
- 《Java核心技术卷一》第3章— — —个人知识点整理
- strcpy和strncpy的使用以及strcpy的模拟实现(三种方法)
- 回归算法--线性回归算法原理
- java从远程url文件流读取文件并下载到本地
- 研华工控机硬盘灯不长亮 【转自微信公众号网管爱好者】