22. 单位和尺寸
22.1 px与pt的区别
px:pixels像素,不同设备显示效果相同(即小按钮在大屏幕上看起来“更小”)
pt:point,一个标准的长度单位,1pt = 1 / 72 英寸,用于印刷业,简单实用
22.2 dp和sp的作用
dip:device independent pixels(设备独立像素),不同设备有不同的显示效果。(一个按钮随着屏幕变大而变大)不依赖像素。
dp:就是dip
sp:scaled pixels(放大像素)。用于字体显示。
22.3 LayoutParams
LayoutParams相当于一个Layout的信息包,封装了Layout的位置、高、宽等信息。
package com.dingjiaxiong.mylayoutparams;
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);
LinearLayout linearLayout = new LinearLayout(this);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
// linearLayout.setLayoutParams(layoutParams);
TextView textView = new TextView(this);
textView.setText("文本");
textView.setBackgroundColor(0xffff0000);
//直接设置,用的像素为单位
LinearLayout.LayoutParams textLayoutParams = new LinearLayout.LayoutParams(300,300);
// textView.setLayoutParams(textLayoutParams);
// linearLayout.addView(textView);
linearLayout.addView(textView,textLayoutParams);
setContentView(linearLayout,layoutParams);
}
}