Android Studio的笔记--布局文件

关于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;@Overrideprotected 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() {@Overridepublic 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() {@Overridepublic void onClick(View view) {String E1;//局部变量E1 = e1.getText().toString();//Toast提示框Toast.makeText(getApplicationContext(),"用户名:"+E1,Toast.LENGTH_LONG).show();}
});

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

<Buttonandroid: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() {@Overridepublic 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.mzph.cn/web/5037.shtml

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

相关文章

智慧旅游驱动行业革新:智能技术引领服务全面升级,匠心打造高品质、个性化旅游新体验

一、引言 随着科技的飞速发展和信息化程度的不断提高&#xff0c;智慧旅游正逐渐成为旅游业发展的新趋势。智慧旅游&#xff0c;顾名思义&#xff0c;是以智能化技术为支撑&#xff0c;通过大数据、云计算、物联网、人工智能等先进技术的应用&#xff0c;实现旅游服务的全面升…

React Router 路由配置数组配组持久化

在一些特定场景下,你可能需要将路由配置数组进行持久化,例如从后端动态加载路由配置或根据用户权限动态生成路由配置。这时,持久化路由配置数组就很有用,可以避免每次应用启动时重新获取或计算路由配置。 持久化路由配置数组的步骤如下: 定义路由配置数组 首先,你需要定义一…

ASR语音转录Prompt优化

ASR语音转录Prompt优化 一、前言 在ASR转录的时候&#xff0c;我们能很明显的感受到有时候语音识别不是很准确&#xff0c;这过程中常见的文本错误主要可以归纳为以下几类&#xff1a; 同音错误&#xff08;Homophone Errors&#xff09; 同音错误发生在不同词语发音相似或相…

使用Postman对@RequestPart和HttpServletRequest组合传参方式

使用Postman对RequestPart和HttpServletRequest组合传参方式 方法代码如下&#xff1a; /*** 发布*/ApiOperation("发布")ApiImplicitParams({ApiImplicitParam(name "req", value "json格式", dataType "Map", dataTypeClass Ma…

【在线名字作画HTML源码】

在线名字作画HTML源码 效果图部分源码领取源码下期更新预报 效果图 部分源码 index.htm <!DOCTYPE html> <html> <head> <title>在线名字作画|民间花鸟字|多彩花鸟虫鱼组合书法|藏字画|字谜语|飞帛板书|意匠文字</title> <meta http-equiv&…

HarmaonyOS鸿蒙应用科普课

一、什么是鸿蒙OS&#xff1f; 1.概念&#xff1a; 先给大家讲讲今天讲课的主题&#xff0c;鸿蒙OS是什么&#xff1f;鸿蒙系统大家都知道&#xff0c;就是一个操作系统&#xff0c;我们未来是为的成为鸿蒙程序员。所以我们不要将鸿蒙os完全等同于手机操作系统&#xff0c;太…

华为 huawei 交换机 配置 MUX VLAN 示例(汇聚层设备)

组网需求 在企业网络中&#xff0c;企业所有员工都可以访问企业的服务器。但对于企业来说&#xff0c;希望企业内部部分员工之间可以互相交流&#xff0c;而部分员工之间是隔离的&#xff0c;不能够互相访问。 如 图 6-4 所示&#xff0c; Switch1 位于网络的汇聚层&#xff0…

Nacos 安全零信任实践

作者&#xff1a;柳遵飞 Nacos 作为配置中心经常存储一些敏感信息&#xff0c;但是由于误用导致安全风险&#xff0c;最常见的主要是以下两个问题&#xff1a; 1&#xff09;Nacos 暴露公网可以吗&#xff1f;不可以&#xff0c;因为 Nacos 定位是注册配置中心&#xff0c;是…

Windows命令行基本命令

目录 什么是相对路径和绝对路径&#xff1f; 一、目录&#xff08;文件夹&#xff09;和文件操作 1.cd命令 用于切换目录 2.dir命令 用于显示目录和文件列表 3.md或mkdir命令 创建文件&#xff0c;也可以创建多级子目录 4.rd命令 用于删除目录 5.move命令 用于移动…

C++:拷贝构造函数和赋值运算符重载

目录 一、拷贝构造函数 1.1概念 1.2特征 二、赋值运算符重载 2.1运算符重载 2.2赋值运算符重载 2.2.1赋值运算符重载格式 2.2.2赋值运算符重载要求 2.2.3默认生成的赋值运算符重载 2.3前置和后置重载 一、拷贝构造函数 1.1概念 只有一个形参&#xff0c;这个形参是…

leetcode51.N皇后(困难)-回溯法

思路 都知道n皇后问题是回溯算法解决的经典问题&#xff0c;但是用回溯解决多了组合、切割、子集、排列问题之后&#xff0c;遇到这种二维矩阵还会有点不知所措。 首先来看一下皇后们的约束条件&#xff1a; 不能同行不能同列不能同斜线 确定完约束条件&#xff0c;来看看究…

Python爬虫(入门版)

1、爬虫是什么 简单的来说&#xff1a;就是用程序获取网络上数据。 2、爬虫的原理 如果要获取网络上数据&#xff0c;我们要给爬虫一个网址&#xff08;程序中通常叫URL&#xff09;&#xff0c;爬虫发送一个HTTP请求给目标网页的服务器&#xff0c;服务器返回数据给客户端&am…

异地组网、网络部署、无线覆盖,贝锐蒲公英一步到位

面对网络架构复杂的企业总部&#xff0c;分散在各地的分支机构&#xff0c;以及出差的远程办公人员&#xff0c;如何才能高效异地组网&#xff1f; 为了确保总部、分部网络实现远程稳定、高速互访&#xff0c;以及远程人员安全访问总部业务系统&#xff0c;基于自研SD-WAN的贝…

C++ 小游戏:战斗之旅

一、游戏名称&#xff1a;战斗之旅 游戏规则 角色选择&#xff1a;玩家可以选择不同的角色&#xff0c;每个角色都有不同的属性和技能。商城&#xff1a;玩家可以访问商城购买不同的装备&#xff0c;包括武器和回复物品。战斗&#xff1a;玩家可以与其他角色进行战斗。在战斗…

数据结构(01)——链表OJ

目录 移除链表元素 思路1 不创建虚拟头节点 思路2 创建虚拟头节点 反转链表 寻找链表中间节点 判断链表是否相交 回文链表 环形链表 环形链表|| 移除链表元素 . - 力扣&#xff08;LeetCode&#xff09; 要想移除链表的元素&#xff0c;那么只需要将目标节点的前一…

XMind轮播图banner测试点

banner测试点 显示1到5张banner图片 [1,5] 6 1 一张不轮播 5 3 0可选 自动轮播,3秒切换一张 鼠标悬停,不轮播 实心为当前图 点击可以跳转 点击左,切换一张图片 点击右, 切换一张图片…

【中级软件设计师】上午题12-软件工程(3):项目活动图、软件风险、软件评审、软件项目估算

【中级软件设计师】上午题12-软件工程&#xff08;3&#xff09; 1 软件项目估算1.1 COCOMO估算模型1.2 COCOMOⅡ模型 2 进度管理2.1 gantt甘特图2.2 pert图2.3 项目活动图2.3.1 画项目图 3 软件配置管理4 软件风险4.1 风险管理4.2 风险识别4.3 风险预测4.4 风险评估4.5 风险控…

Baidu comate智能编程助手评测

Baidu comate智能编程助手评测 作者&#xff1a;知孤云出岫 目录 一&#xff0e; 关于comate产品 二&#xff0e; 关于comate产品体验 三&#xff0e; 关于实际案例. 四&#xff0e; 关于baidu comate编程助手的实测体验感悟 五&#xff0e; …

Java包装类,128陷阱

包装类 基本数据类型都有自己对应的包装类&#xff0c;因为Java本质是面向对象编程的&#xff0c;一切的内容在Java看来都是对象 但是基本数据类型没有类&#xff0c;也没有对象&#xff0c;这样就有了矛盾 所以诞生了基本类型的包装类 基本数据类型&#xff1a; byte,short,…

014、Python+fastapi,第一个后台管理项目走向第14步:建立python+fastapi项目,创建common通用模块

一、说明 通用模块主要是完成文件的上传下载&#xff0c;抄吧&#xff0c;要不然怎么叫通用模块呢&#xff1f; 我把RuoYi-Vue3-FastAPI中的验证码模块放在这里了&#xff0c;我觉得验证也比较通用吧&#xff0c; 二、添加common通用模块 1、通用模块没有数据表&#xff0c…