Android学习:简易图片浏览
这个例子学习混合使用XML布局和代码来控制UI,习惯上把变化小、行为固定的组件放在XML布局文件中管理,而那些变化较多、行为控制复杂的组件则交给Java代码来管理。
先在布局文件中定义一个线性布局容器。main.xml修改如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity"
android:id="@+id/root"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
MainActivity.java代码如下:
package allegro.test3; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout; public class MainActivity extends AppCompatActivity { int[] images=new int[]{
R.drawable.java,
R.drawable.javaee,
R.drawable.swift,
R.drawable.ajax,
R.drawable.html, };
int currentImg=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取LinearLayout布局容器
LinearLayout main=(LinearLayout) findViewById(R.id.root);
//程序创建ImageView组件
final ImageView image=new ImageView(this);
//添加到LinearLayout布局容器中
main.addView(image);
//初始化时显示第一张图
image.setImageResource(images[0]);
image.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
image.setImageResource(images[++currentImg % images.length]);
}
});
}
}
在Android工程中,每添加一个资源,就会在gen目录下的R.Java中自动生成一个新的静态整型变量来指向这个资源。程序文件中调用资源的时候,先在R.java中找到变量名,然后根据变量值查找资源。
可以直接在工程的\res\drawable文件夹里拷贝一个图片文件过去。然后在 res – drawable 标签下就会多出来你添加的图片。R.java中也会自动添加一个以图片文件名为变量名的整型变量。
注意:文件名必须全为小写。如果有大写的话,R.java中不会生成新的变量,这样程序里也就没办法调用。

Android学习:简易图片浏览的更多相关文章
- JavaScript学习---简易图片轮播
效果如下: 图片定时轮播 点击左右控制显示下一张或上一张图片 index.html文件 <html> <head> <title> js编写实现幻灯片效果 < ...
- Android学习之图片压缩,压缩程度高且失真度小
曾经在做手机上传图片的时候.直接获取相机拍摄的原图上传,原图大小一般1~2M.因此上传一张都比較浪费资源,有些场景还须要图片多张上传,所以近期查看了好多前辈写的关于图片处理的资料.然后试着改了一个图片 ...
- Android学习之路——简易版微信为例(二)
1 概述 从这篇博文开始,正式进入简易版微信的开发.深入学习前,想谈谈个人对Android程序开发一些理解,不一定正确,只是自己的一点想法.Android程序开发不像我们在大学时候写C控制台程序那样, ...
- Android学习之路——简易版微信为例(一)
这是“Android学习之路”系列文章的开篇,可能会让大家有些失望——这篇文章中我们不介绍简易版微信的实现(不过不是标题党哦,我会在后续博文中一步步实现这个应用程序的).这里主要是和广大园友们聊聊一个 ...
- Android学习笔记进阶之在图片上涂鸦(能清屏)
Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...
- Android 高级UI设计笔记14:Gallery(画廊控件)之 3D图片浏览
1. 利用Gallery组件实现 3D图片浏览器的功能,如下: 2. 下面是详细的实现过程如下: (1)这里我是测试性代码,我的图片是自己添加到res/drawable/目录下的,如下: 但是开发中不 ...
- (转)Android学习-使用Async-Http实现图片压缩并上传功能
(转)Android学习-使用Async-Http实现图片压缩并上传功能 文章转载自:作者:RyaneLee链接:http://www.jianshu.com/p/940fc7ba39e1 让我头疼一 ...
- 一款基于 Android 开发的离线版的 MM 图片浏览 App
一款离线版的 MM 图片浏览 App,有点类似掌上百度的图片专栏应用.图片采用瀑布流展示方式,点击图片集,支持左右手势滑动切换图片:支持放大缩小功能. 实现功能:1)图片完全离线,不耗个人 GPRS ...
- Unity3d之ScrollView实现图片浏览切换功能----折磨的学习
由于项目需要,需要用NGUi实现一个图片浏览切换的功能,于是参考官方NGUI例子的ScrollView做了一个例子,初始看上去基本实现了自己想要的功能. 但是测试后发现当隐藏其中一张图片后,后面图片不 ...
随机推荐
- ASP.NET WebApi服务接口如何防止重复请求实现HTTP幂等性
一.背景描述与课程介绍 明人不说暗话,跟着阿笨一起玩WebApi.在我们平时开发项目中可能会出现下面这些情况; 1).由于用户误操作,多次点击网页表单提交按钮.由于网速等原因造成页面卡顿,用户重复刷新 ...
- Linux:“awk”命令的妙用
awk是一个强大的文本分析工具,简单来说awk就是把文件逐行读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理. 0.基本用法 awk是一个强大的文本分析工具,简单来说awk就 ...
- Navicat for MySQL 64位破解版
注册码:NAVH-WK6A-DMVK-DKW3 百度网盘链接(为安装包,直接运行EXE文件即可):http://pan.baidu.com/s/1o7OwjFG
- java servlet 生命周期
Life Cycle in Detail:-1-When a server loads a servlet, it runs the servlet's init method. Even thoug ...
- TRAC-IK机器人运动学求解器
TRAC-IK和Orocos KDL类似,也是一种基于数值解的机器人运动学求解器,但是在算法层面上进行了很多改进(Specifically, KDL’s convergence algorithms ...
- failed to create process怎么解决
python 在cmd时,报错:failed to create process怎么解决 在cmd命令前加 : python -m 命令(如:python -m conda update conda)
- EntityFramework.Extended 对EF进行扩展
前言 Entity Framework 延伸系列目录 今天我们来讲讲EntityFramework.Extended 首先科普一下这个EntityFramework.Extended是什么,如下: 这 ...
- 优麒麟 16.04 LTS(长期支持)版本
Ubuntu Kylin (中文又被称为优麒麟)是基于Ubuntu的一款官方衍生版. 它是一款专门为中国市场打造的免费操作系统.它包括Ubuntu用户期待的各种功能,并配有必备的中文软件及程序. ht ...
- 单片机成长之路(51基础篇) - 009 关于sdcc的多文件编译范例(一)
本文是续 单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境编写的. 本范例主要由(main.c ,delay.h,delay.c,makefile)4个文件组成,s ...
- Nodejs 使用 es module (import/export)