使用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執行
執行結果:圖片打了碼,可以看到網格佈局管理器結果出來了,可以將圖片換了看看效果。
相關文章
- SAP 電商雲 Spartacus UI Angular UI 和 Accelerator JSP UI 的混合使用UIAngularJS
- 使用FOR XML AUTO控制XML輸出KHXML
- ui自動化測試,頁面方法的使用UI
- 使用 Nuxt 3 的 defineRouteRules 進行頁面級別的混合渲染UX
- Java面試題總結之OOA/D,UML,和XMLJava面試題XML
- appium 獲取混合頁面元素失敗APP
- JavaFx 頁面和控制元件設定快捷鍵Java控制元件
- 使用Vue.js和Element-UI做一個簡單的登入頁面Vue.jsUI
- SAP UI5和React的頁面渲染效能比較UIReact
- SAP UI5 XML 檢視裡 label 和 text 控制元件文字對齊問題UIXML控制元件
- HTML API + CSS 控制頁面列印內容和樣式HTMLAPICSS
- 使用 Java 解析XML檔案JavaXML
- vue實現後臺管理系統頁面功能和頁面路由許可權的控制Vue路由
- vue頁面表格元件高度控制Vue元件
- SAP BSP和JSP頁面裡UI元素的ID生成邏輯JSUI
- Java爬蟲系列二:使用HttpClient抓取頁面HTMLJava爬蟲HTTPclientHTML
- flutter 使用Bloc和refresh 進行搭建頁面FlutterBloC
- 元件使用總結:使用 JAXB 實現 XML檔案和java物件互轉元件XMLJava物件
- OpenHarmony頁面級UI狀態儲存:LocalStorageUI
- 30個支付頁面UI設計欣賞UI
- kotlin和java混合開發總結KotlinJava
- 單頁面應用和多頁面應用
- iOS 封裝頁數控制,點選NavigationTabBar切換頁面iOS封裝NavigationtabBar
- Vue(二)使用Element-ui元件庫渲染後臺系統登入頁面VueUI元件
- vue+element-ui中獲取頁面資料VueUI
- 用jQuery-Easy-UI編寫註冊頁面jQueryUI
- AngularJS ui-router重新整理子頁面路由AngularJSUI路由
- Vue+Element-ui建立一個登陸頁面VueUI
- SAP UI5 應用開發教程之七十 - 如何使用按鈕控制元件觸發頁面路由跳轉試讀版UI控制元件路由
- 使用Java和Flyway進行資料庫版本控制Java資料庫
- 執行java和go混合版本EdgeX FoundryJavaGo
- DB2中的混合XML儲存QMDB2XML
- java使用jaxb解析XML(含根據xml自動生成實體類)JavaXML
- Java解析XMLJavaXML
- WordPress入門07-WordPress新建頁面和管理頁面
- ThinkPHP框架中自定義錯誤頁面和提示頁面PHP框架
- Java工具面試題:版本控制工具Java面試題
- 使用ArkWeb構建頁面Web