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, 就可以通过了.