場景 效果 註: 博客: https://blog.csdn.net/badao_liumang_qizhi 關註公眾號 霸道的程式猿 獲取編程相關電子書、教程推送與免費下載。 實現 新建Android項目,首先打開activity_main.xml 使用XML設置頁面 將其佈局改為GridLayo ...
場景
效果
註:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關註公眾號
霸道的程式猿
獲取編程相關電子書、教程推送與免費下載。
實現
新建Android項目,首先打開activity_main.xml
使用XML設置頁面
將其佈局改為GridLayout,並設置其行數為3,列數為4,以及設置其id。
android:rowCount = "3" android:columnCount = "4" android:id="@+id/gridLayout"
使用Java代碼設置頁面
首先將要顯示的照片複製到res/drawale下
原本要顯示12張,應該要複製12張照片,這裡只複製了一張。
打開MainActivity.java
先聲明一個ImageView數組和圖片路徑數組。
private ImageView[] img = new ImageView[12]; private int[] imagePath = new int[]{ R.drawable.img1,R.drawable.img1,R.drawable.img1,R.drawable.img1, R.drawable.img1,R.drawable.img1,R.drawable.img1,R.drawable.img1, R.drawable.img1,R.drawable.img1,R.drawable.img1,R.drawable.img1 };
然後在其OnCreate方法中
//獲取layout GridLayout layout = (GridLayout) findViewById(R.id.gridLayout); for(int i =0;i<imagePath.length;i++) { img[i] = new ImageView(MainActivity.this); //給ImageView設置圖片源 img[i].setImageResource(imagePath[i]); //設置內邊距 img[i].setPadding(2, 2, 2, 2); //設置佈局參數 即圖片 大小 ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(240,140); img[i].setLayoutParams(params); //將ImgageView添加到layout上 layout.addView(img[i]);
完整示例代碼
package com.badao.layouttest; import androidx.appcompat.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[] imagePath = new int[]{ R.drawable.img1,R.drawable.img1,R.drawable.img1,R.drawable.img1, R.drawable.img1,R.drawable.img1,R.drawable.img1,R.drawable.img1, R.drawable.img1,R.drawable.img1,R.drawable.img1,R.drawable.img1 }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲取layout GridLayout layout = (GridLayout) findViewById(R.id.gridLayout); for(int i =0;i<imagePath.length;i++) { img[i] = new ImageView(MainActivity.this); //給ImageView設置圖片源 img[i].setImageResource(imagePath[i]); //設置內邊距 img[i].setPadding(2, 2, 2, 2); //設置佈局參數 即圖片 大小 ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(240,140); img[i].setLayoutParams(params); //將ImgageView添加到layout上 layout.addView(img[i]); } } }