一、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文件代码

  1. package com.example.layoutparams;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.view.ViewGroup;
  5. import android.widget.LinearLayout;
  6. import android.widget.TextView;
  7. public class MainActivity extends AppCompatActivity {
  8. @Override
  9. protected void onCreate(Bundle savedInstanceState) {
  10. super.onCreate(savedInstanceState);
  11. // setContentView(R.layout.activity_main);
  12. //1.设置线性布局
  13. LinearLayout linearLayout = new LinearLayout(this);
  14. //2.设置线性布局的宽和高
  15. LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams
  16. (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
  17. //3.将获取的宽和高放进线性布局
  18. linearLayout.setLayoutParams(layoutParams);
  19. //4.创建文本
  20. TextView textView = new TextView(this);
  21. //5.设置文本内容和背景颜色
  22. textView.setText("我是文本");
  23. textView.setBackgroundColor(0x63728300);
  24. //6.设置文本的宽和高,用的是px
  25. LinearLayout.LayoutParams layoutParams1 = new LinearLayout.LayoutParams(300, 300);
  26. // textView.setLayoutParams(layoutParams1);
  27. // linearLayout.addView(textView);
  28. //7.将宽高放进文本,将文本放进线性布局
  29. linearLayout.addView(textView,layoutParams1);
  30. //8.启动该布局
  31. setContentView(linearLayout);
  32. }
  33. }

2 效果图:

image.png