Android开发 View属性

news/2024/10/30 21:24:21/

1. View

View的子类及子类的子类都有View的属性,都可以设置下述介绍的属性。

 

2.View宽高

View及其派生类的宽高共有三类值:

match_parent:匹配父控件的宽高

wrap_content: 匹配内容的长度,例如TextView是包裹文字

fixed number:  用数字直接赋固定值,单位为dp

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="use wrap_content"android:textSize="30sp"android:textColor="@color/white"android:background="#0000ff"android:layout_marginTop="10dp"/><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="use match_parent"android:textSize="30sp"android:textColor="@color/white"android:background="#00ff00"android:layout_marginTop="10dp"/><TextViewandroid:layout_width="300dp"android:layout_height="50dp"android:text="use fixed length"android:textSize="30sp"android:textColor="@color/white"android:background="#550000"android:layout_marginTop="10dp"/></LinearLayout>

预览界面:

上述是直接在xml文件中设置View宽高,也可以在java文件中设置,需要注意的是此时默认单位为px

package com.example.study;import androidx.appcompat.app.AppCompatActivity;import android.app.ActionBar;
import android.graphics.Color;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.TextView;public class MainActivity2 extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);TextView tv = findViewById(R.id.tv);ViewGroup.LayoutParams params = tv.getLayoutParams();params.width = 500;}
}

界面变为:

3.View 间距

layout_margin: View与周围View的间距,也就是外部间距

padding: View与内部View的间距,也就是内部间距

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:background="#00FFAA"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="#AAFF00"android:layout_margin="60dp"android:padding="40dp"><Viewandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="#FFFFFF"></View></LinearLayout></LinearLayout>

界面如下:

4.View对齐方式

layout_gravity:当前View相对上级View的对齐方式

gravity:下级View相对当前View的对齐方式

取值:left, right, top, bottom 或者组合left|top.....

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#FFAA00"><LinearLayoutandroid:layout_width="0dp"android:layout_height="100dp"android:layout_weight="1"android:background="@color/pink"android:layout_margin="20dp"android:layout_gravity="bottom|left"android:gravity="bottom"android:padding="30dp"><Viewandroid:layout_width="100dp"android:layout_height="50dp"android:background="#FF0000"></View></LinearLayout><LinearLayoutandroid:layout_width="0dp"android:layout_height="100dp"android:layout_margin="20dp"android:layout_weight="1"android:background="@color/pink"android:layout_gravity="top|right"android:gravity="top"android:padding="30dp"><Viewandroid:layout_width="100dp"android:layout_height="50dp"android:background="#FF0000"></View></LinearLayout></LinearLayout>

界面如下:

 


http://www.ppmy.cn/news/32539.html

相关文章

JavaScript的事件传播机制

你在学习和编写JavaScript时可能听说过事件冒泡&#xff08;event bubbling&#xff09;。它会发生在多个元素存在嵌套关系&#xff0c;并且这些元素都注册了同一事件(例如click)的监听器时。 但是事件冒泡只是事件机制的一部分。它经常与事件捕获(event capturing)和事件传播…

【微信小程序】-- 全局数据共享 - MobX(四十三)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…

Mysql常用命令

mysql连接&#xff1a; [roothost]# mysql -u root -p Enter password:******创建数据库&#xff1a; CREATE DATABASE 数据库名&#xff1b; 删除数据库&#xff1a; drop database 数据库名; 使用mysqladmin删除数据库&#xff1a; [roothost]# mysqladmin -u root -p dr…

面试了一个32岁的程序员,一个细节就看出来是培训班的····

首先&#xff0c;我说一句&#xff1a;培训出来的&#xff0c;优秀学员大有人在&#xff0c;我不希望因为带着培训的标签而无法达到用人单位和候选人的双向匹配&#xff0c;是非常遗憾的事情。 最近&#xff0c;在网上看到这样一个留言&#xff0c;引发了程序员这个圈子不少的…

【pygame游戏】Python实现蔡徐坤大战篮球游戏【附源码】

前言 话说在前面&#xff0c;我不是小黑子~&#x1f60f; 本文章纯属技术交流~娱乐 前几天我获得了一个坤坤打篮球的游戏&#xff0c;也给大家分享一下吧~ 好吧&#xff0c;其实并不是这样的游戏&#xff0c;往下慢慢看吧。 准备工作 开发环境 Python版本&#xff1a;3.7.8 …

响应式编程详解,带你熟悉Reactor响应式编程

文章目录一、什么是响应式编程1、Java的流和响应式流2、Java中响应式的使用3、Reactor中响应式流的基本接口4、Reactor中响应式接口的基本使用二、初始Reactor1、Flux和Mono的基本介绍2、引入Reactor依赖3、响应式类型的创建4、响应式类型的组合&#xff08;1&#xff09;使用m…

http协议 - 笔记

1 http协议 -- post,get,delete 如何使用http协议post - /api/v1/User/1 要使用 HTTP 协议 POST 方法向 /api/v1/User/1 发送请求,您可以使用一个 HTTP 客户端(例如 Postman、cURL 或浏览器扩展程序)并按照以下步骤操作: 打开您的 HTTP 客户端。在 URL 地址栏中输入 /a…

站上风口,文心一言任重道远

目录正式发布时机选择逻辑推理AI绘画用户选择总结自从OpenAI公司的chatGPT发布以来&#xff0c;吸引了全球目光&#xff0c;同时也引起了我们的羡慕&#xff0c;希望有国产的聊天机器人&#xff0c;盼星星盼月亮&#xff0c;终于等来了百度文心一言的发布。 正式发布 3月16日…