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中不会生成新的变量,这样程序里也就没办法调用。

 

 

posted @ 2018-03-13 22:46  猪悟能  阅读(249)  评论(0编辑  收藏  举报