在程式碼中控制UI介面可以分為以下三個步驟。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FrameLayout frameLayout=new FrameLayout(this);//建立幀佈局管理器
frameLayout.setBackground(this.getResources().getDrawable(R.mipmap.two));//設定背景
setContentView(frameLayout);//設定在Activity中顯示的frameLayout
TextView text1=new TextView(this);
text1.setText("在JAVA程式碼中控制UI介面");//設定顯示文字
text1.setTextSize(TypedValue.COMPLEX_UNIT_PX,40);//設定文字大小,單位為畫素
text1.setTextColor(Color.rgb(100, 100, 100));//設定文字的顏色
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
//設定佈局高度和佈局寬度
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT
);//建立儲存佈局引數的物件
params.gravity = Gravity.CENTER;//設定為居中
text1.setLayoutParams(params);//設定佈局引數
frameLayout.addView(text1);//將text1新增到佈局管理器中
}
}
xml檔案
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id = "@+id/layout"
android:orientation = "horizontal"
android:rowCount="3"
android:columnCount="4"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
</GridLayout>
java檔案
public class MainActivity extends AppCompatActivity {
private ImageView[] img = new ImageView[12];//宣告一個儲存ImageView元件的陣列
private int[] imagePath = new int[]{
R.mipmap.one,R.mipmap.two,R.mipmap.one,R.mipmap.two,
R.mipmap.one,R.mipmap.two,R.mipmap.one,R.mipmap.two,
R.mipmap.one,R.mipmap.two,R.mipmap.one,R.mipmap.two,
};//宣告並初始化一個儲存存取圖片的陣列
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//網格佈局管理器
GridLayout layout = findViewById(R.id.layout);//獲取XML檔案中定義的線性佈局管理器
for(int i = 0;i<imagePath.length;i++){
img[i] = new ImageView((MainActivity.this));//建立一個ImageView元件
img[i].setImageResource(imagePath[i]);//為imageView元件指定要顯示的圖片
img[i].setPadding(2,2,2,2);//設定imageView元件的內邊框
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(116,68);//圖片大小
img[i].setLayoutParams(params);
layout.addView(img[i]);//加入佈局管理器中
}
}
}