使用XML和Java混合控制UI頁面
使用XML和Java混合控制UI頁面
在前面的project中建立一個空的moudle
將activity_main.xml中的佈局管理器修改為網格佈局管理器
# 原始程式碼
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"
android:layout_width="match_parent" android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.MainActivity">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Hello World!" />
</RelativeLayout>
# 修改後的程式碼
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:orientation="horizontal" #設定對齊方式水平
android:rowCount="3" # 網格數三行
android:columnCount="4" # 網格數四列
android:layout_width="match_parent" android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.MainActivity">
# 刪除次數原來的text view,不需要
</GridLayout>
在MainActivity.java中設定
# 原始生成程式碼
package com.example;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
# 修改後的程式碼
package com.example;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Layout;
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[] iamgepath = new int[]{
R.mipmap.img1,R.mipmap.img2,R.mipmap.img3,
R.mipmap.img4,R.mipmap.img5,R.mipmap.img6,
R.mipmap.img7,R.mipmap.img8,R.mipmap.img9,
R.mipmap.img10,R.mipmap.img11,R.mipmap.img12,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
# 定義一個網格佈局管理器物件
GridLayout layout = (GridLayout) findViewById(R.id.activity_main);
# 迴圈將每個圖片放進去
for(int i=0;i<iamgepath.length;i++){
img[i] =new ImageView(MainActivity.this);
img[i].setImageResource(iamgepath[i]); # 放入圖片資源
img[i].setPadding(2, 2, 2, 2); #設定內邊距(包括上下左右)
# 定義一個ViewGroup中定義引數,設定圖片大小
ViewGroup.LayoutParams params =new ViewGroup.LayoutParams(116, 68);
img[i].setLayoutParams(params); # 傳入圖片大小引數
# 一定記得將設定好的圖片存放金網格佈局管理器
layout.addView(img[i]);
}
}
}
選擇該moudle執行
執行結果:圖片打了碼,可以看到網格佈局管理器結果出來了,可以將圖片換了看看效果。
相關文章
- 使用UI預覽提升頁面感知速度UI
- SAP 電商雲 Spartacus UI Angular UI 和 Accelerator JSP UI 的混合使用UIAngularJS
- webbrowser 控制 頁面Web
- ui自動化測試,頁面方法的使用UI
- js控制頁面顯示和表單提交JS
- 使用JAXB處理JAVA和XMLJavaXML
- 使用 Nuxt 3 的 defineRouteRules 進行頁面級別的混合渲染UX
- 用XML和XSLT來生成靜態的HTML頁面XMLHTML
- appium 獲取混合頁面元素失敗APP
- JavaFx 頁面和控制元件設定快捷鍵Java控制元件
- 使用伺服器端控制AJAX頁面快取伺服器快取
- 使用Vue.js和Element-UI做一個簡單的登入頁面Vue.jsUI
- SAP UI5和React的頁面渲染效能比較UIReact
- HTML API + CSS 控制頁面列印內容和樣式HTMLAPICSS
- vue實現後臺管理系統頁面功能和頁面路由許可權的控制Vue路由
- vue頁面表格元件高度控制Vue元件
- element-ui的彈窗上使用btn會重新整理頁面UI
- XML建立可排序、分頁的資料顯示頁面(轉)XML排序
- SAP BSP和JSP頁面裡UI元素的ID生成邏輯JSUI
- Java爬蟲系列二:使用HttpClient抓取頁面HTMLJava爬蟲HTTPclientHTML
- 30個支付頁面UI設計欣賞UI
- OpenHarmony頁面級UI狀態儲存:LocalStorageUI
- flutter 使用Bloc和refresh 進行搭建頁面FlutterBloC
- 單頁面應用和多頁面應用
- java使用sax解析xmlJavaXML
- 【Android】2:控制元件使用及頁面跳轉實戰Android控制元件
- Xamarin iOS教程之頁面控制元件iOS控制元件
- Vue+Element-ui建立一個登陸頁面VueUI
- vue+element-ui中獲取頁面資料VueUI
- 用jQuery-Easy-UI編寫註冊頁面jQueryUI
- 在VB和Web頁面中使用Shell物件 (轉)Web物件
- 混合ORM 和MongoDB使用案例ORMMongoDB
- 頁面裝載使用者控制元件時的事件順序控制元件事件
- SAP UI5 XML 檢視裡 label 和 text 控制元件文字對齊問題UIXML控制元件
- Vue(二)使用Element-ui元件庫渲染後臺系統登入頁面VueUI元件
- java抓取HTML頁面的資料(淘寶頁面),JavaHTML
- 使用 Java 解析XML檔案JavaXML
- java 做頁面靜態化Java