AndroidStudio中使用XML和Java代碼混合控制UI界面實現QQ相冊照片列表頁面


場景

效果

 

 

注:

博客:
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]);
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM