每一种语言都能教会你一些东西,所以学习一门语言绝不会是浪费,尤其当它的不同之处不止是体现在句法杂项上。

前言

首先给大家展示一下 在线图片了浏览器demo 的界面。(大家也可以点击上面的链接进行下载制作的demo)
我们的在线图片浏览器界面由三部分组成。
第一个是用于展示图片的 IMageView,第二个是用于输入图片地址的 EditText,第三个是一个普通按钮 Button。

制作逻辑:
当输入图片地址,点击按钮之后,图片将会展示在ImageView控件区域中,当输入一个无效的图片地址时,则会展示一个预先设置的图片。

文章内容

  • 前言
  • 1. 使用的UI 控件
    • 1.1 ImageView
    • 1.2 EditText
    • 1.3 Button
    • 1.4 activity_main.java完整代码
  • 2. 下载 Glide
  • 3. 逻辑代码
  • 4. 权限

1. 使用的UI 控件

1.1 ImageView

预先放置一张图片,图片地址是drawable/img_2

<ImageViewandroid:id="@+id/image"android:layout_width="match_parent"android:layout_height="0dp"android:layout_gravity="center"android:layout_weight="1"android:scaleType="fitCenter"android:src="@drawable/img_2" />

1.2 EditText

预先填写一个图片地址

 <EditTextandroid:id="@+id/et_link"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="https://raw.githubusercontent.com/Jenny-Zeng/Picture/main/pic/img_1.jpg" />

1.3 Button

 <Buttonandroid:id="@+id/bt_show_img"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" />

1.4 activity_main.java完整代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><ImageViewandroid:id="@+id/image"android:layout_width="match_parent"android:layout_height="0dp"android:layout_gravity="center"android:layout_weight="1"android:scaleType="fitCenter"android:src="@drawable/img_2" /><EditTextandroid:id="@+id/et_link"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="https://raw.githubusercontent.com/Jenny-Zeng/Picture/main/pic/img_1.jpg" /><Buttonandroid:id="@+id/bt_show_img"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button" /></LinearLayout>

2. 下载 Glide

因为Glide是第三库,所以我们要先下载,
打开 app/build.gradle 文件,在 dependencies 标签中加入两行代码,添加完代码需要需要同步一下,点击 sync 图标

dependencies {implementation 'com.github.bumptech.glide:glide:3.7.0'implementation 'com.android.support:support-v4:23.3.0'
}

3. 逻辑代码

MainActivity.java文件,使用Glide实现

package com.xiaozeng.showpic1;import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import java.time.Instant;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ImageView imageView = findViewById(R.id.image);EditText etLink = findViewById(R.id.et_link);Button button = findViewById(R.id.bt_show_img);findViewById(R.id.bt_show_img).setOnClickListener(view -> {           Glide.with(MainActivity.this).load(etLink.getText().toString()).error(R.mipmap.ic_launcher_round).into(imageView);});}
}

4. 权限

在我们要访问网络时,需要给定权限,所以打开 AndroidManifest.xml 文件,在标签中加入一行代码

<uses-permission android:name="android.permission.INTERNET"/>

其中就是我们在线图片浏览器的所有代码了,小伙伴们赶紧 RUN 一下吧。

手把手教你制作Android 在线图片浏览器demo相关推荐

  1. python英文词云代码_手把手教你制作 中英文 词云 | python demo

     以前做词云的时候网上看的python做词云的坑都很多,耗了很多时间才高清楚wordcloud制作词云的精髓和脉络,整理如下. 相关文章 准备Mac环境下直接pip install wordclou ...

  2. 手把手教你制作 中英文 词云 | python demo

    以前做词云的时候网上看的python做词云的坑都很多,耗了很多时间才高清楚wordcloud制作词云的精髓和脉络,整理如下. 相关文章 Python 中文 文本分析 实战:jieba分词+自定义词典补 ...

  3. Android反编译:手把手教你制作高德地图车机共存版

    Android反编译:手把手教你制作高德地图车机共存版 前言 前期准备 反编译流程 反编译获取有效信息 修改关键信息 修改包名 修改其它配置 生成APK 重新打包成apk 重新签名 绕过校验机制 定位 ...

  4. PWA入门:手把手教你制作一个PWA应用

    摘要: PWA图文教程 原文:PWA入门:手把手教你制作一个PWA应用 作者:MudOnTire Fundebug经授权转载,版权归原作者所有. 简介 Web前端的同学是否想过学习app开发,以弥补自 ...

  5. 最新免费自建APP平台哪个好?手把手教你制作APP

    大型二手交易网站咸鱼近日发布<90后分享经济消费报告>,报告显示:16-27岁的年轻人用户占比已达55%,90后已成为分享经济的绝对主力:基于地理位置或兴趣同好形成的社区"鱼塘& ...

  6. 轴旋转——制作别样的图片浏览器

    首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 VIP 活动 招聘 ITeye CSTO 写博客 发Chat 贵公子丶笔记 千里之行,始于足下. RSS订阅 转 Andro ...

  7. 手把手教你制作AppPreview视频并上传到appStore进行审核

    手把手教你制作AppPreview视频并上传到appStore进行审核 注意,你需要使用iMovie才能够制作AppPreview视频文件,用QuickTime录制的无效! 最终效果 1. 新建一个事 ...

  8. 手把手教你制作手机底部导航栏,领导看完都说好

    手把手教你制作手机底部导航栏,领导看完都说好

  9. 天线巴伦制作和原理_【火腿DIY】巴伦知识图集|手把手教您制作1:1短波巴伦

    洛阳市无线电运动协会 CQ<现代通讯>杂志官网 黑暗森林的博客 什么是巴伦?短波用巴伦的作用是什么? 巴伦(英文:Balun)是平衡Balanced和不平衡Unbalanced转换器的英文 ...

最新文章

  1. 独家福利 | 科大讯飞全球1024开发者节限时免费门票!
  2. 一般来说,神经网络的架构可以分为哪三类?
  3. 利用opencv改变视频长宽
  4. Spring事务传播行为详解
  5. 开源资产管理系统_开源cmdb来啦 通用CMDB 开源资产管理系统
  6. c语言程序设计夏宽理第三版答案,(100)西南大学2021计算机考研数据速览(特别更新版),民族脊梁袁隆平院士的母校!...
  7. 电商大厂面试都有哪些套路?
  8. 在ubuntu上启动一个vue项目
  9. Netty工作笔记0080---编解码器和处理器链梳理
  10. composer 完整路径才能访问_Docker 漏洞:允许攻击者获得主机 root 访问权限
  11. 抓包工具charles下载安装(破解版)
  12. 魔兽争霸III背景渊源
  13. java毕业设计彩妆销售网站Mybatis+系统+数据库+调试部署
  14. WPS文字标题级别的设置和调整——多种方法任选
  15. 工业相机——感光元件尺寸介绍
  16. 4核处理器_最新版的MAC mini配M1处理器你会买吗?
  17. 计算机网线怎么连接另一台电脑,求解一台电脑怎么连接另一台电脑上网
  18. 实用:常用PPT国内外不错的网站介绍
  19. 【MySQL笔记 第06章_多表查询】
  20. sqli-labs--Less7

热门文章

  1. PYTHON实现AES加密,中英文通用!!!
  2. QApplication和QCoreApplication
  3. java版溺尸掉三叉戟吗_我的世界:得不到溺尸的三叉戟怎么办?概率太低,版本要求不同!...
  4. c语言三胞胎素数,四胞胎素数
  5. iOS,不能使用UDID之后
  6. 金山员工猝死:莫让青春负重前行
  7. 屡次发生的Oracle谓词越界
  8. scrollTo详解
  9. Predicting Path Failure In Time-Evolving Graphs 文章总结
  10. 项目的时间进度该如何估算?