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,一经查实,立即删除!

相关文章

web server apache tomcat11-28-Windows Service

前言 整理这个官方翻译的系列&#xff0c;原因是网上大部分的 tomcat 版本比较旧&#xff0c;此版本为 v11 最新的版本。 开源项目 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎&#xff0c;轻嗅蔷薇。 系列文章 web server apache tomcat11-01-官方文档入门介绍 web…

2024.4.29力扣刷题记录-数组篇记录4

目录 一、697. 数组的度 二、448. 找到所有数组中消失的数字 三、442. 数组中重复的数据 四、 41. 缺失的第一个正数 五、485. 最大连续 1 的个数 一、697. 数组的度 哈希表 class Solution:def findShortestSubArray(self, nums: List[int]) -> int:# 哈希表# 找出最…

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

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

探索PyTorch:开源深度学习框架的魅力

PyTorch作为一款开源深度学习框架&#xff0c;已经在学术界和工业界广泛应用。其简洁易懂的API、动态计算图以及丰富的工具和接口&#xff0c;使得它成为了许多研究人员和工程师的首选。本文将深入探讨PyTorch与深度学习的紧密联系&#xff0c;从其核心特点、应用领域以及未来发…

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

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

github fork项目不带tag解决

github中fork别人的项目&#xff0c;clone下来后发现只有代码&#xff0c;没有tag&#xff0c;而我们现在想基于某个tag生成新分支&#xff0c;然后基于这个分支来开发。 第一步&#xff0c;需要把原来的tag都同步过来 # Fork源仓库 # Repo: aaa/project # Fork: bbb/project…

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&…

搜维尔科技:Varjo XR-4客户体验中,在VR体验中获得高层次的视觉保真度和沉浸感。

Varjo XR-4系列是Varjo的最新一代头戴式显示器&#xff0c;其代表着世界领先的的混合现实技术和图形处理能力。新一代的XR-4更加迎合工业使用案例&#xff0c;在用户在VR体验中获得高层次的视觉保真度和沉浸感。 搜维尔科技&#xff1a;Varjo XR-4客户体验中&#xff0c;在VR…

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;是…

ceph笔记 2

一、CephX 认证机制&#xff1a; 看这里 和这里 Cephadm安装Ceph(v17.2.5 Quincy) 1、mon负责认证&#xff0c;mon一定要三个&#xff0c;要不一个坏了以后还咋认证 2、认证完才能对ceph增删改查 3、 在 Ceph 中&#xff0c;这些命令和指令都是与 Ceph 权限控制相关的。让我逐…

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…

jdbc的工具类和三层架构模型

jdbc工具类 由于JDBC的注册驱动&#xff0c;连接数据库&#xff0c;关闭资源的步骤是相同的&#xff0c;所以我们可以写一个JDBC工具类。 /* 工具类&#xff1a; 私有化构造方法 提供静态方法*/ public class jdbcUtil {private final static String DRIVER "com.mysql…

Java设计模式 _创建型模式_建造者模式(Builder)

一、建造者模式 1、建造者模式&#xff08;Builder Pattern&#xff09;是一种创建对象的设计模式。它允许你使用不同的构建策略来创建复杂对象。通常是在复杂类中通过静态内部类&#xff08;Builder&#xff09;来进行构建。 2、实现思路&#xff1a; &#xff08;1&#xf…