填写您的项目需求给我们
或者直接拨打 7×12小时一对一咨询电话
175 2108 6175
请填写需求信息,我们会在10分钟内与您取得联系
Android可以使用XML布局文件控制界面布局,从而有效地将界面中布局的代码和Java代码隔离,使程序的结构更加清晰。因此多数Android程序采用这种方式编写布局。前面讲过,布局文件通常放在 res/layout文件夹中,我们可以在该文件夹的XML文件中编写布局,下面是 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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用XML布局文件控制UI界面"
android:textColor="#ff0000"
android:textSize="18sp"
android:layout_centerInParent="true"
/>
</RelativeLayout>
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //调用activity_main
}
上述代码中,定义了一个相对布局RelativeLayout,在该布局中定义了一个 TextView控件。其中,Relativelayout继承自ViewGroup,TextView继承自vew。
Android程序的布局不仅可以在XML布局文件中编写,还可以在Java代码中编写。在 Android中所有布局和控件的对象都可以通过new关键字创建出来,将创建的View控件加到ViewGroup布局中,从而实现vew控件在布局界面中显示。接下来,我们将使用XML布局文件编写的布局,使用Java代码改写,改写后的示例
代码如下所示:
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RelativeLayout relativeLayout = new RelativeLayout(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
//addRule 参数对应RelativeLayout XML 布局的属性
params.addRule(RelativeLayout.CENTER_IN_PARENT); //设置居中
TextView textView = new TextView(this); //创建TextView控件
textView.setText("使用Java实现界面布局"); //设置TextView的文字内容
textView.setTextColor(Color.RED); //设置TextView的文字颜色
textView.setTextSize(18); //设置TextView的文字大小
//添加TextView对象和TextView的布局属性
relativeLayout.addView(textView,params);
setContentView(relativeLayout); //设置在Activity中显示RelativeLayout
}
}
需要注意的是,不管哪种布局,它们控制Android用户界面行为的本质是完全一样的,大多数时候,控制UI元素的XML属性都有相对应的方法。
填写您的项目需求给我们
或者直接拨打 7×12小时一对一咨询电话
175 2108 6175
请填写需求信息,我们会在10分钟内与您取得联系
请认真填写需求信息,我们会在10分钟内与您取得联系