使用XML布局文件和java代码共同控制UI界面做一个简易图片浏览器

           使用XML布局文件和java代码共同控制UI界面做一个简易图片浏览器

本代码实现图片点击切换和通过按钮点击切换图片的功能:

photo.xml代码如下:


    

        

MainActivity.java代码如下:
package com.example.lenovo.photobrowse;

import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity  {

    //图片资源
    private int[] image = {R.drawable.item1, R.drawable.item2, R.drawable.item3, R.drawable.item4,
            R.drawable.item5, R.drawable.item6, R.drawable.item7, R.drawable.item8, R.drawable.item9,
            R.drawable.item10, R.drawable.item11, R.drawable.item12};

    //存放图片的下标
    private int current = 0;

    private Button bt1;
    private Button bt2;


    private LinearLayout mLinearLayout1;


    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.photo);

        setTitle("使用XML布局文件和java代码共同控制UI界面");

        //初始化LinearLayout和按钮
        mLinearLayout1 = (LinearLayout)findViewById(R.id.layout1);
        bt1 = (Button) findViewById(R.id.bt1);
        bt2 = (Button)findViewById(R.id.bt2);
        final ImageView imageView = new ImageView(this);

        //布局加载ImageView组件
        mLinearLayout1.addView(imageView);

        //ImageView加载第一张图片
        imageView.setImageResource(image[current]);

        //imageView的点击事件
        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (current >= image.length - 1) {
                    current = -1;
                }

                imageView.setImageResource(image[++current]);
            }
        });

        //按钮点击事件
        bt1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(current<=0){
                    current = 1;
                    Toast.makeText(MainActivity.this,"图片浏览完毕",Toast.LENGTH_SHORT).show();
                }
                imageView.setImageResource(image[--current]);
            }
        });
        bt2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(current>=image.length-1){
                    current = image.length-2;
                    Toast.makeText(MainActivity.this,"图片浏览完毕",Toast.LENGTH_SHORT).show();
                }
                imageView.setImageResource(image[++current]);

            }
        });
    }

}

总结:本代码主要是用LinearLayout布局加载ImageView和tough事件来实现,图片资源大家可以自行下载,我这就不提供了。一定会有人问,ImageView放在.XML文件里不就更容易了吗,确实是这样的。我这里主要是提供一个范例,从Activityli也可以实现布局的布置。但是如果单纯使用Layout布局会显得不灵活,只使用java代码的形式又太冗杂。两者结合就很好了。本人是刚学android,故有空就写个帖子。定时更新。不当之处敬请谅解和指正。大神们可以无视。


你可能感兴趣的:(Android)