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;
    @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>

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

leetCode65. 有效数字

leetCode65. 有效数字 题目思路 代码 class Solution { public:bool isNumber(string s) {int l 0, r s.size() - 1;// 1.忽略前后的空格while(l < r && s[l] ) l;while(l < r && s[r] ) r--;if(l > r) return false;s s.substr(l,r - l 1)…

在Windows中,matplotlibcpp的使用

0 前言 本篇文章记录一个c库的使用&#xff1a;matplotlib-cpp&#xff0c;其作用是在c中调用python的matplotlib&#xff0c;实现绘图操作。 对于Windows环境下使用该库的文章&#xff0c;发现文章依然存在一些问题&#xff0c;总是存在报错不能解决&#xff0c;花费了较多的…

RCE学习

从最近的xyctf中&#xff0c;最大的感受就是自己的rce基础并不牢固&#xff0c;所以马上来恶补一下 漏洞成因 php和其他语言有很多能够执行系统命令或执行其他php代码的函数&#xff0c;因为开发者的使用不当&#xff0c;使得用户能够控制传递给执行命令的函数的参数&#xf…

windows驱动开发-PNP管理器

PNP技术是由Microsoft提出的&#xff0c;英文Plug and play的缩写&#xff0c;中译即插即用&#xff0c;意思是系统自动侦测周边设备和板卡并自动安装设备驱动程序&#xff0c;做到插上就能用&#xff0c;无须人工干预&#xff0c;是Windows自带的一项技术。所谓即插即用是指将…

发卡盗u源码系统搭建ZHU

2024最新UI发卡盗U/支持多语言/更新UI界面/支持多个主流钱包去除后门板&#xff0c;最好是部署智能合约后用合约地址来授权包含转账支付页面盗U授权源码。 完美提U&#xff0c;教程包含如何提u 。功能完美。 1.Php静态 2.目录puicta 3.扩sal 4.ssl不强https

【抽代复习笔记】17-群(十一):置换的练习题(1)

练习1&#xff1a;计算&#xff1a; 解&#xff1a; 解析&#xff1a;①左边的置换是1保持不变&#xff0c;2变成3&#xff0c;3变成4&#xff0c;4变成5&#xff0c;5变成2&#xff0c;因此可以简写为(2345)&#xff1b;右边的置换是2和5保持不变&#xff0c;1变成3&#xff…

IDEA 2022.1版本开始,可以直接运行Markdown里的命令行

参照这种格式&#xff1a; shell mvn clean install注意idea支持的版本&#xff1a;是从 2022.1版本开始的。 ps&#xff1a;之前有人写过了&#xff0c;感觉很实用但是蛮多开发者不一定会知道的功能。 参考资料&#xff1a; https://www.cnblogs.com/didispace/p/16144107.h…

【docker】maven 打包docker的插件学习

docker-maven-plugin GitHub地址&#xff1a;https://github.com/spotify/docker-maven-plugin 您可以使用此插件创建一个 Docker 映像&#xff0c;其中包含从 Maven 项目构建的工件。例如&#xff0c;Java 服务的构建过程可以输出运行该服务的 Docker 映像。 该插件是 Spot…

【跟马少平老师学AI】-【神经网络是怎么实现的】(九)长短期记忆网络

一句话归纳&#xff1a; 1&#xff09;RNN也会存在梯度消失的问题。 2&#xff09;同一句话&#xff0c;对于不同的任务&#xff0c;句中不同的词起的作用也不一样。 3&#xff09;LSTM&#xff08;长短期记忆&#xff09;子网络&#xff1a; 门&#xff0c;让输入经过运算&…

附录6-4 黑马优购项目-分类和购物车

目录 1 分类 1.1 接口 1.2 窗口限制 1.3 选中状态样式判断 1.4 点击左侧时右侧会到顶点 1.5 源码 2 购物车 2.1 store 2.2 tabBar徽标 2.3 滑动删除 2.4 结算 2.4.1 结算前登录 2.4.2 结算功能 2.5 触发组件事件 2.6 源码 1 分类 分类最上部是…

Android手写自己的路由SDK

实现自己的路由框架 ​ 在较大型的Android app中常会用到组件化技术&#xff0c;针对不同的业务/基础功能对模块进行划分&#xff0c;从上到下为壳工程、业务模块、基础模块。其中业务模块依赖基础模块&#xff0c;壳工程依赖业务模块。同级的横向模块&#xff08;比如多个业务…

使用Nuxt3框架搭建基础项目

Nuxt3安装 基础配置: Node.js** - v18.0.0版本以上 , 可以结合fnm工具切换node版本 安装nuxt3命令 打开vscode或者控制台去到项目文件夹输入: npx nuxilatest init <project-name> 国内执行这行代码&#xff0c;即使科学上网也会有问题 ⚠️ 安装Nuxt3报错 安装过程…

数据分析--客户价值分析RFM(K-means聚类/轮廓系数)

原数据 import os import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn import metrics ### 数据抽取&#xff0c;读⼊数据 df pd.read_csv("customers1997.csv") #相对路径读取数据 print(df.info()) pr…

如何定时打开网站

首先&#xff0c;需要用到的这个工具&#xff1a; 度娘网盘 提取码&#xff1a;qwu2 蓝奏云 提取码&#xff1a;2r1z 1、打开工具按下Ctrl3&#xff0c;切换到定时器模块&#xff0c;左侧右键&#xff0c;选择新建 2、标题叫百度&#xff0c;等下就让它打开百度&#xff0c…

Spring - 6 ( 9000 字 Spring 入门级教程 )

一&#xff1a; SpringBoot 配置文件 1.1 配置文件作用 配置文件通常是一个文本文件&#xff0c;其中包含了程序或系统的各种设置、选项和参数。比如C:\Users, C:\Windows 文件夹, 以及各种 .config, .xml 文件 配置文件主要是为了解决硬编码&#xff08;代码写死&#xff0…

排序算法--希尔排序

前提&#xff1a; 排序算法——直接插入排序-CSDN博客 希尔排序(Shell Sort)是插入排序的一种。是直接插入排序算法的Plus版。该方法又称缩小增量排序&#xff0c;是D.L.Shell于1959年提出。要想学好希尔排序&#xff0c;直接插入排序一定要学好&#xff0c;没学过的&#xff0…

chrome extension插件替换网络请求中的useragent

感觉Chrome商店中的插件不能很好的实现自己想要的效果,那么就来自己动手吧。 本文以百度为例: 一般来说网页请求如下: 当前使用的useragent是User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safar…

【Flask 系统教程 4】Jinjia2模版和语法

Jinjia2 模板 模板的介绍 Jinja2 是一种现代的、设计优雅的模板引擎&#xff0c;它是 Python 的一部分&#xff0c;由 Armin Ronacher 开发。Jinja2 允许你在 HTML 文档中嵌入 Python 代码&#xff0c;以及使用变量、控制结构和过滤器来动态生成内容。它的语法简洁清晰&#…

java发送请求2次开发-get请求json

因为你请求参数不为空&#xff0c;接口都会把这个参数带上 所以借鉴HttpPost类 继承这个类&#xff0c; 这个类是可以带消息的 httpgetwithentity&#xff0c;httpget请求带上消息 复写 构造方法复制过来进行使用 二次开发类让其get请求时可以发送json

IOS上线操作

1、拥有苹果开发者账号 2、配置证书&#xff0c;进入苹果开发者官网&#xff08;https://developer.apple.com/&#xff09; 3、点击账户&#xff08;account&#xff09;&#xff0c;然后创建一个唯一的标识符 4、点击"Identifiers"&#xff0c;然后点击"&qu…