Android界面编程之简单的图片浏览器

Android界面编程之简单的图片浏览器

在进行android编程之前,我们首先要明确一下几点:

1.安卓开发中各种资源所在的位置以及自己编写时应该放到的位置:

android项目中所有的资源都放到res目录下
java类在java目录的包中
AndroidManifest.xml是配置文件。
res/layout目录下是xml格式的界面文件
MainActivity.java是对界面进行操作的java代码

2.View组件

UI组件有的书上称“微件”,也许是因为多放在andorid.widget包下,有的也在android.view包
所有的UI组件都继承View类
View的子类ViewGroup是其它组件的容器

3.ViewGroup

抽象类,是其它容器类的超类
android UI组件可以通过XML文件来控制行为,XML文件中与UI组件对应的属性称为XML属性。
ViewGroup有两个内部类:
        —LayoutParams提供layout_height和layout_width控制布局高、宽
        —MarginLayoutParams提供layout_marginBottom等组件的页边距

4.控制UI界面的三种方式
使用XML布局文件
通过Java代码
XML文件与Java代码混搭

下面正式进行(代码布局和xml布局)

首先将图片放到res目录下的drawable文件夹内

Android界面编程之简单的图片浏览器_第1张图片


通过代码进行布局:
          Main_Activity.java

package com.example.mico.image_browser;

import android.support.constraint.ConstraintLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {
    private int[] imgs=new int[]{R.drawable.img1,R.drawable.img2,R.drawable.img3};
    private int i = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ConstraintLayout layout =(ConstraintLayout)findViewById(R.id.mylayout);
        final ImageView image = new ImageView(this);
        image.setImageResource(imgs[i]);
        layout.addView(image);
        image.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                image.setImageResource(imgs[++i%imgs.length]);
            }
        });
    }
}

xml文件可以不进行i更改,也可以将布局文件内的默认内容(helloworld的TexViw)删除,因为不除java代码容删除。java代码中添加的View也会进行覆盖不过出于代码的规范性,最好将内容删除

           效果(单击图片切换):
Android界面编程之简单的图片浏览器_第2张图片

Android界面编程之简单的图片浏览器_第3张图片

通过XML文件进行布局:
  
          activity_main.xml     


<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.mico.ex2.MainActivity"
    android:id="@+id/mylayout">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center">
        <ImageView
            android:id="@+id/imageview"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    LinearLayout>

android.upport.constraint.ConstraintLaout>

          MainActivity.java

package com.example.mico.image_browser;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {
    private int[] imgs=new int[]{R.drawable.img1,R.drawable.img2,R.drawable.img3};
    private int i = 0;
    private ImageView image;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        image = (ImageView)findViewById(R.id.imageview);
        image.setImageResource(imgs[i]);
        image.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                image.setImageResourceimgs(imgs[++i%imgs.length]);
            }
        });
    }
}

效果同上

你可能感兴趣的:(Android)