一、px与pt的区别
1.px:pixels(像素),不同设备显示效果相同
2.pt:point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
二、dp和sp的作用
1.dip:device independent pixels(设备独立像素),不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA推荐使用这个,不依赖像素。
2.dp:就是dip
3.sp:scaled pixels(放大像素),主要用于字体显示best for textsize
三、LayoutParams是什么
1.LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息
四、具体实现如下:
1.MainActivity文件代码
package com.example.layoutparams;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.ViewGroup;import android.widget.LinearLayout;import android.widget.TextView;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);// setContentView(R.layout.activity_main); //1.设置线性布局 LinearLayout linearLayout = new LinearLayout(this); //2.设置线性布局的宽和高 LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); //3.将获取的宽和高放进线性布局 linearLayout.setLayoutParams(layoutParams); //4.创建文本 TextView textView = new TextView(this); //5.设置文本内容和背景颜色 textView.setText("我是文本"); textView.setBackgroundColor(0x63728300); //6.设置文本的宽和高,用的是px LinearLayout.LayoutParams layoutParams1 = new LinearLayout.LayoutParams(300, 300);// textView.setLayoutParams(layoutParams1);// linearLayout.addView(textView); //7.将宽高放进文本,将文本放进线性布局 linearLayout.addView(textView,layoutParams1); //8.启动该布局 setContentView(linearLayout); }}
2 效果图:
