安卓-06-使用XML和Java设置UI--实例--03--QQ相册

本文介绍了使用Java和XML结合的方式进行UI布局的设计方法。详细讲述了如何在Android Studio中利用GridLayout进行界面布局,并通过Java代码动态添加ImageView。此外,还分享了一个关于图片资源命名的小技巧。

XML不灵活

Java太复杂

布局和简单组件代码放在XML中

复杂的组件放在Java代码中

 


 修改初始化的activity_main.xml为下面的xml文件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:id="@+id/layout"
 6     android:orientation="horizontal"
 7     android:rowCount="3"
 8     android:columnCount="4"
 9     android:layout_width="match_parent"
10     android:layout_height="match_parent"
11     tools:context=".MainActivity">
12 
13 </GridLayout>

 

设置 MainActivity.java 文件

 

package com.example.java_and_xml_ui;

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

public class MainActivity extends AppCompatActivity {
    private ImageView[] img = new ImageView[12];
    private int[] imgPath = new int[]{
            R.mipmap.img01, R.mipmap.img02, R.mipmap.img03, R.mipmap.img04,
            R.mipmap.img05, R.mipmap.img06, R.mipmap.img07, R.mipmap.img08,
            R.mipmap.img09, R.mipmap.img10, R.mipmap.img11, R.mipmap.img12,
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setContentView(R.layout.activity_main);
        GridLayout layout = findViewById(R.id.layout);
        for(int i=0; i<imgPath.length; i++) {
            img[i] = new ImageView(MainActivity.this);
            img[i].setImageResource(imgPath[i]);
            img[i].setPadding(2, 2, 2, 2);
            ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(300, 120);  // 设置图片的宽度和高度
            img[i].setLayoutParams(params);
            layout.addView(img[i]);

        }
    }
}

  


 

 

神坑, 添加图片到数组的时候, 一直出错, 最终发现是因为我的图片的资源的名字是01.jpg, 02.jpg......

android studio要求图片的名称必须是字母开头的.......

我把资源的名称前加上img, 就可以通过了.

 

转载于:https://www.cnblogs.com/huangZ-H/p/10636278.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值