Android Studio的笔记--布局文件

news2024/10/7 5:23:18

关于Layout布局文件的使用

  • LinearLayout
  • RelativeLayout
  • 之前文章的内容
    • 一些常见性质
      • 在android.graphics.Color中定义了12种常见的颜色常数
      • 线性布局LinearLayout
    • 一些常见使用
      • 文本框TextView设置文本内容
      • 编辑框EditText获取文本内容
      • 按钮Button控件使用
      • 其他按钮
      • 修改图标及名称
      • 添加图片到drawable,修改背景
      • 其它

LinearLayout

线性布局

比较重要的属性

属性含义
weight权重

RelativeLayout

相对布局

比较重要的属性

设置 父控件 的相对布局属性
值为true|false

属性含义
layout_alignParentLeft与父控件左对齐
layout_alignParentTop与父控件上对齐
layout_alignParentRight与父控件右对齐
layout_alignParentBottom与父控件下对齐
layout_centerInParent在父控件中心位置
layout_centerHorizontal在父控件水平居中位置
layout_centerVertical在父控件垂直居中位置

设置 某个兄弟控件 的属性
值为@+id/

属性含义
layout_alignLeft与某个控件左对齐
layout_alignTop与某个控件上对齐
layout_alignRight与某个控件右对齐
layout_alignBottom与某个控件下对齐
layout_toLeftOf在某个控件左方
layout_above在某个控件上方
layout_toRightOf在某个控件右方
layout_below在某个控件下方

设置 父控件 边距的属性
值为-15dp 可以设置成负数。

属性含义
layout_margin与父控件四边的距离
layout_marginLeft与父控件左边的距离
layout_marginTop与父控件上边的距离
layout_marginRight与父控件右边的距离
layout_marginBottom与父控件下边的距离

设置 自身控件 边距的属性
值为15dp

属性含义
padding与自身控件四边的距离
paddingLeft与自身控件左边的距离
paddingTop与自身控件上边的距离
paddingRight与自身控件右边的距离
paddingBottom与自身控件下边的距离

基本属性

属性含义
gravity布局方式center

尽量使用RelativeLayout + LinearLayout的weight属性搭配使用

之前文章的内容

Android Studio的代码笔记–基本使用、新建一个项目、修改快捷键、常用控件的使用等

一些常见性质

控件方向:android:orientation=“vertical"行,设置线性布局为垂直方向 /horizontal水平方向
控件宽度:android:layout_width=“match_parent"其中wrap_content/match_parent/dp(适应控件大小/填充到上一层容器的大小/200dp大小)
控件高度:android:layout_height=“wrap_content"适应大小
内容位置:android:layout_gravity=“center"控件内容的对齐方向,center(居中)
权重比:android:layout_weight = “1”
上边距:android:layout_marginTop=”14dp”
四边距:android:padding=“20sp”
控件背景:android:background = “@drawable/图片名”添加图片到drawable下,也可以是颜色
文本大小:android:textSize=“25sp”
文本颜色:android:textColor=”#8C6931"通过colors.xml资源来引用,也可直接写#FF0000红色
文本字体:android:textStyle=“bold|italic”字体风格normal/bold/italic(无效果/加粗/斜体)
文本类型:android:inputType=“textPassword"text密码文本
文本内容:android:text=“文本”
android:text=”@string/pass"使用键值对密码一般把字符串写到string.xml资源中,通过@String/xxx引用对应的字符串内容,也可以直接写
编辑框提示:android:hint=“请输入密码”
控件的Id:android:id=”@+id/textView"后续可以通过findViewById()的方法关联控件
控件重力:android:gravity = “bottom” 掉到底部
使用图片:app:srcCompat=”@drawable/photo”
使用数组:android:entries=”@array/sxiao”
修改图标:android:icon=”@drawable/图片名"
修改label:android:label=“文本内容”

在android.graphics.Color中定义了12种常见的颜色常数

Color.BLACK 黑色
Color.BLUE 蓝色
Color.CYAN 青绿色
Color.DKGRAY 灰黑色
Color.GRAY 灰色
Color.GREEN 绿色
Color.LTGRAY 浅灰色
Color.MAGENTA 红紫色
Color.RED 红色
Color.TRANSPARENT透明
Color.WHITE 白色
Color.YELLOW 黄色

线性布局LinearLayout

线性布局LinearLayout将组件按照水平或垂直方向排列。
1) 设置线性布局为水平方向 android:orientation = "horizontal” 一列一列的布局
2) 设置线性布局为垂直方向 android:orientation = “vertical” 一行一行的布局

一些常见使用

文本框TextView
编辑框EditText
按钮Button
按照1、定义2、关联3、事件来使用

public class MainActivity extends AppCompatActivity {
    TextView textView;//1定义
    EditText editText;
    Button button;
    String E1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        textView=findViewById(R.id.textView);//2关联
        editText=findViewById(R.id.editText);
        button=findViewById(R.id.button);
        textView.setText("我饿了");//设置文本内容
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {//3事件使用
                E1=editText.getText().toString();//获取文本内容
                textView.setText(E1);
            }
        });
    }
}

效果
在这里插入图片描述
点击按钮将编辑框上的内容传递给文本框
在这里插入图片描述

文本框TextView设置文本内容

textView.setText(内容);括号内为String,可以int类型+""转换为String
在这里插入图片描述

编辑框EditText获取文本内容

editText.getText().toString();获取编辑框内容,内容类型转换为String

按钮Button控件使用

关联控件(如按钮)、设置控件的事件监听、在监听接口添加事件处理程序

//1、 定义对象(变量)
Button b1;
//2、 关联控件 findViewById
e1 = findViewById(R.id.e1); b1 = findViewById(R.id.b1);
//3、 设置监听事件退出finish();
b1.setOnClickListener(new View.OnClickListener() {
	 @Override
      public void onClick(View view) {
      		String E1;//局部变量
         	E1 = e1.getText().toString();
         	//Toast提示框
      		Toast.makeText(getApplicationContext(),"用户名:"+E1,Toast.LENGTH_LONG).show();
     }
});

在这里插入图片描述
控件使用步骤总结:
1、res-layout-main.xml添加相应控件

<Button
    android:id="@+id/bt"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/go" />

2、Java-com.example.mytestwork-MainActivity添加对应程序

Button bt;//定义
bt=findViewById(R.id.bt);//关联
bt.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        //String txt = et.getText().toString();
        tv.setText(et.getText());
    }
});

其他按钮

在这里插入图片描述

  • 单选按钮:RadioButton 单选框:RadioGroup
    if(radioButton1.isChecked()){
    }else if(radioButton2.isChecked()){
    }else{}
    在这里插入图片描述
  • 开关按钮:ToggleButton
    android:textOff=“女”(关)
    android:textOn=“男” (开)
    android:checked=“true” (默认开)
    if(toggleButton.isChecked()){
    regX += “性别:”+to.getTextOn().toString()+“\n”;
    }else{
    regX += “性别:”+to.getTextOff().toString()+“\n”;}
    在这里插入图片描述

修改图标及名称

在manifests下xml中修改图标android:icon=“@mipmap/ic_launcher”
在这里插入图片描述

添加图片到drawable,修改背景

复制图片到drawable下,在文本中引用android:background = "@drawable/图片名”
在这里插入图片描述

其它

  • 图片:ImageView
    使用图片:app:srcCompat=“@drawable/photo”
    设置图片:imageView.setImageResource(R.drawable.photo);
  • 下拉框:Spinner
    使用数组:android:entries=“@array/sxiao”
    获取下拉选项的id: Sl.getSelectedItemId()
  • 定义数组:
    String[] ite = new String[]{1,2,3};
    int[] ima = new int[]{R.drawable.shu,R.drawable.niu, R.drawable.hu};
    在键值对里面定义数组:
<string-array name="sxiao">
        <item></item>
        <item></item>
</string-array>

未完 待续
欢迎指错,一起学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1633967.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HEVC/H.265视频编解码学习笔记–框架及块划分关系

前言 由于本人在学习视频的过程中&#xff0c;觉得分块单元太多搞不清楚其关系&#xff0c;因此本文着重记录这些分块单元的概念以及关联。 一、框架 视频为一帧一帧的图像&#xff0c;其编码的主要核心是压缩空间以及时间上的冗余。因此&#xff0c;视频编码有帧内预测和帧间…

C语言函数指针的使用、函数指针数组及使用、指向函数指针数组的指针,指针进阶版的冒泡排序等介绍

文章目录 前言一、函数指针的使用1. 加减乘除计算器普通实现2. 加减乘除计算机函数指针实现 二、函数指针数组1. 函数指针数组的书写2. 两个有趣的代码3. 函数指针数组的使用 三、指向函数指针数组的指针四、指针进阶_冒泡排序1.整型冒泡排序2. C语言qsort函数3. 仿写C语言qsor…

第十二章 案例二:配置Trunk,实现相同VLAN的跨交换机通信

1、实验环境 公司的员工人数已达到 100 人&#xff0c;其网络设备如图12.13所示&#xff0c;现在的网络环境导致广播较多网速慢&#xff0c;并且也不安全&#xff0c;公司希望按照部门划分网络&#xff0c;并且能够保证一定的网络安全性 图12.13 实验案例二拓扑图 其网络规划…

【AIGC调研系列】来认识一下:WebLlama

WebLlama是一个基于Meta Llama 3构建的代理&#xff0c;专门为了网页导航和对话进行了微调。它是由McGill University的自然语言处理团队开发的研究项目&#xff0c;旨在通过对话进行网页浏览的智能代理[1][2]。WebLlama的目标是构建有效的人为中心的代理&#xff0c;帮助用户浏…

格雷希尔E10系列大电流测试连接器,在新能源汽车大电流接插件的电气测试方案

在新能源汽车的电驱动、电池包等设备的电测试处理中&#xff0c;格雷希尔E10系列电测试连接器具有显著的优势。E10系列的核心设计——插孔/插针&#xff0c;可以达到实验室10万次的插拔寿命&#xff0c;相比传统公母电接头500次左右的连接寿命&#xff0c;E10系列无疑大大减少测…

PCL 梯度滤波

文章目录 一、简介一、简介二、实现代码三、实现效果参考资料一、简介 一、简介 点云梯度滤波是指基于每个点与邻近点之间的倾斜程度进行滤波的算法,其原理也很简单,如下图所示: CloudCompare中的做法是: d i r = A B

网盘——删除常规文件

本文主要讲解网盘中文件操作部分的删除常规文件部分&#xff0c;具体实施步骤如下&#xff1a; 目录 1、具体步骤&#xff1a; 2、代码实现 2.1、添加删除常规文件的协议 2.2、添加删除常规文件槽函数 2.3、关联槽函数 2.4、添加槽函数定义 2.5、服务器回复 2.6、客户…

推荐一个wordpress免费模板下载

首页大背景图&#xff0c;首屏2张轮播图&#xff0c;轮换展示&#xff0c;效果非常的炫酷&#xff0c;非常的哇噻&#xff0c;使用这个主题搭建的wordpress网站&#xff0c;超过了200个&#xff0c;虽然是一个老主题了&#xff0c;不过是经得起时间考验的&#xff0c;现在用起来…

06|LangChain | 从入门到实战 -六大组件之Agent

点点赞~ 注意&#xff1a;langchain的版本迭代比较快&#xff0c;社区维护&#xff0c;代码当中或许部分方法在某个版本不再支持 01&#xff5c;LangChain | 从入门到实战-介绍 02&#xff5c;LangChain | 从入门到实战 -六大组件之Models IO 03&#xff5c;LangChain | 从入…

《R语言与农业数据统计分析及建模》——多重共线性和逐步回归

一、多重共线性 多重共线性&#xff1a;在多元线性回归时&#xff0c;多个自变量之间存在高度相关关系&#xff0c;时模型估计失真或难以估计准确的情况。 一般地&#xff0c;多元线性回归中自变量间应尽量相互独立。常规模型诊断方法难以检测多重共线性。 1、案例解释 作物产…

嵌入式学习65-C++(继承.派生和QT布局管理)

知识零碎&#xff1a; 信号合槽&#xff1a; 对象间通信 …

《动手学深度学习(Pytorch版)》Task03:线性神经网络——4.29打卡

《动手学深度学习&#xff08;Pytorch版&#xff09;》Task03&#xff1a;线性神经网络 线性回归基本元素线性模型损失函数随机梯度下降 正态分布与平方损失 线性回归的从零开始实现读取数据集初始化模型参数定义模型定义损失函数定义优化算法训练 线性回归的简洁实现读取数据集…

Find My无人机|苹果Find My技术与无人机结合,智能防丢,全球定位

无人机是利用无线电遥控设备和自备的程序控制装置操纵的不载人飞机&#xff0c;或者由车载计算机完全地或间歇地自主地操作。无人机按应用领域&#xff0c;可分为军用与民用。军用方面&#xff0c;无人机分为侦察机和靶机。民用方面&#xff0c;无人机行业应用&#xff0c;是无…

【介绍下Selenium】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

机器学习:深入解析SVM的核心概念(问题与解答篇)【二、对偶问题】

对偶问题 **问题一&#xff1a;什么叫做凸二次优化问题&#xff1f;而且为什么符合凸二次优化问题&#xff1f;**为什么约束条件也是凸的半空间&#xff08;Half-Space&#xff09;凸集&#xff08;Convex Set&#xff09;半空间是凸集的例子SVM 约束定义的半空间总结 **问题二…

Web 服务器解析漏洞 原理以及修复方法

漏洞名称 &#xff1a;Web服务器解析漏洞 漏洞描述&#xff1a; 服务器相关中间件存在一些解析漏洞&#xff0c;攻击者可通过上传一定格式的文件&#xff0c;被服务器的中间件进行了解析&#xff0c;这样就对系统造成一定危害。常见的服务器解析漏洞涉及的中间件有IIS&#x…

踏上R语言之旅:解锁数据世界的神秘密码(四)

文章目录 前言一、多元线性回归1.多元线性回归模型的建立2.多元线性回归模型的检验 二、多元线性相关分析1.矩阵相关分析2.复相关分析 三、回归变量的选择方法1.变量选择准则2.变量选择的常用准则3.逐步回归分析 总结 前言 回归分析研究的主要对象是客观事物变量间的统计关系。…

操作系统安全:安全审计,Windows系统日志详解,Windows事件ID汇总

「作者简介」&#xff1a;2022年北京冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础对安全知识体系进行总结与归纳&#xff0c;著作适用于快速入门的 《网络安全自学教程》&#xff0c;内容涵盖系统安全、信息收集等…

使用OkHttp 缓存 API 调用提高Android应用性能

使用OkHttp 缓存 API 调用提高Android应用性能 坦率地说&#xff0c;我们都遇到过这样的情况——焦急地刷新应用&#xff0c;看着加载图标不停地旋转&#xff0c;等待那个至关重要的 API 响应。这样的等待我们已经是炉火纯青了&#xff0c;是吧&#xff1f;手指有节奏地轻敲屏…

【Node.js工程师养成计划】之express框架

一、Express 官网&#xff1a;http://www.expressjs.com.cn express 是一个基于内置核心 http 模块的&#xff0c;一个第三方的包&#xff0c;专注于 web 服务器的构建。 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用&…