栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Android学习|单位和尺寸

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android学习|单位和尺寸

Android学习|单位和尺寸

一、概述二、px与pt的区别三、 dp与sp的作用四、LayoutParams是什么

一、概述

       不同手机尺寸大小不一,则组件在不同手机上的显示布局可能存在问题。(小尺寸刚好铺满、大尺寸较多留白、自适应屏幕…)

    例如下图我们在创建虚拟机的时候,存在差异。


二、px与pt的区别

1、 px: pixels(像素).不同设备显示效果相同
2、pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;

三、 dp与sp的作用

1、 dip: device independent pixels(设备独立像素)
       不同设备有不同的显示效果,这个和设备硬件有关(适配不同屏幕大小),一般我们为了支持wVGA、HVGA和QvGA推荐使用这个,不依赖像素。

2、 dp:就是dip 。 设备越大,1dp占用的像素越多

3、sp: scaled pixels(放大像素).主要用于字体显示best for textsize。


四、LayoutParams是什么

       LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。java代码中设置布局可能会用到。

例如,在MainActivity.java中,包含如下代码

@Override
protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);
}

     而setContentView(R.layout.activity_main)就是设置layout/activity_main.xml作为显示的主布局。
     我们可以进行自定义布局更改,然后配合LayoutParams设置布局的宽、高等属性。

package com.example.fourthdemo_1;

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 linearLayout = new LinearLayout(this);
        //创建LayoutParams
        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
        //将创建包含宽高的LayoutParams设置给linearLayout
        linearLayout.setLayoutParams(layoutParams);



        TextView textView = new TextView(this);
        textView.setText("Hello World !");
        textView.setTextSize(40);

         //文本的LayoutParams
        LinearLayout.LayoutParams textLinearLayout = new LinearLayout.LayoutParams(800, 300);  //300 单位是px
        //文本和宽高信息 添加到 linearLayout
        linearLayout.addView(textView,textLinearLayout);

        //设置主布局为自定义的linearLayout
        setContentView(linearLayout);

    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/747345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号