Android studio 简易登录界面
•参考资料
[1]:视频资源
•效果展示图
•前置知识
- TextView
- EditText
- Button 以及按压效果,点击事件
•出现的问题
输入文本框 $Account$ 和 $Password$ 左侧的图标大小问题;
我是随便在网上下载的两张图片,像素太大,以至于占用了太多的空间,如何修改 EditText 中图标的大小呢?
参考资料:Android TextView设置图标,调整图标大小
首先,我在 $activity\_next.xml$ 中放置了两个 $EditText$ 组件,设置的 $id$ 分别为 $et\_1$ , $et\_2$;
并把以下两张图片放在了 drawable 文件夹中,并分别取名为 $account.png$ , $password.png$;
![]()
$(account.png)$ $(password.png)$
其中,$account.png$ 放置在 $et\_1$ 组件中, $password.png$ 放置在 $et\_2$ 组件中;
在其对应的 $next\_activyti.java$ 文件中设置如下代码即可改变其在 $EditText$ 中的大小;
1 EditText Et1 = findViewById(R.id.et_1);
2 Drawable icon = getResources().getDrawable(R.drawable.account);//找到account.png这张图片
3 icon.setBounds(0,0,44,44);
4 Et1.setCompoundDrawables(icon, null, null, null);
5
6 EditText Et2 = findViewById(R.id.et_2);
7 Drawable password = getResources().getDrawable(R.drawable.password);//找到password.png这张图片
8 password.setBounds(0,0,44,44);
9 Et2.setCompoundDrawables(password,null,null,null);$setBounds(left,top,right,bottom)$ 里的参数从左到右分别是:
- $drawable$ 的左边到 $EditText$ 左边缘 + $padding$ 的距离
- $drawable$ 的上边离 $EditText$ 上边缘 + $padding$ 的距离
- $drawable$ 的右边离 $EditText$ 左边缘 + $padding$ 的距离
- $drawable$ 的下边离 $EditText$ 上边缘 + $padding$ 的距离
相当于以 $EditText$ 边框的左边和上边为参考,通过设置 $drawable$ 的位置来改变其显示的大小;
•点击事件
如上图($gif$)所示,再点击 $Sign in$ 按钮的时候出现了点击事件 $Login failed$;
只需在 $next\_activyti.java$ 添加如下代码即可;
1 Btn1 = findViewById(R.id.btn_1);//btn_1 是 Sign in 按钮的 id
2 Btn1.setOnClickListener(new View.OnClickListener(){//设置点击事件
3
4 public void onClick(View view){
5 Toast.makeText(nextActivity.this,"Login failed",Toast.LENGTH_SHORT).show();
6 }
7 });
•完整代码
1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:app="http://schemas.android.com/apk/res-auto"
4 xmlns:tools="http://schemas.android.com/tools"
5 android:layout_width="match_parent"
6 android:layout_height="match_parent"
7 tools:context=".nextActivity"
8 android:padding="10dp">
9
10 <TextView
11 android:id="@+id/tv_1"
12 android:layout_width="wrap_content"
13 android:layout_height="wrap_content"
14 android:text="Sign in to Hyacinth"
15 android:textSize="30sp"
16 android:textColor="#9E9191"
17 android:layout_centerHorizontal="true"
18 android:layout_marginTop="20dp"/>
19
20 <EditText
21 android:id="@+id/et_1"
22 android:layout_width="match_parent"
23 android:layout_height="50dp"
24 android:layout_below="@id/tv_1"
25 android:layout_marginTop="60dp"
26 android:textSize="20sp"
27 android:textColor="#FFAD33"
28 android:hint="Account"
29 android:background="@drawable/ic_btn3"
30 android:paddingLeft="15dp"
31 android:drawableLeft="@drawable/account"
32 android:drawablePadding="10dp"
33 />
34
35 <EditText
36 android:id="@+id/et_2"
37 android:layout_width="match_parent"
38 android:layout_height="50dp"
39 android:layout_below="@id/et_1"
40 android:layout_marginTop="10dp"
41 android:textSize="20sp"
42 android:textColor="#FFAD33"
43 android:hint="Password"
44 android:inputType="textPassword"
45 android:background="@drawable/ic_btn3"
46 android:paddingLeft="15dp"
47 android:drawableLeft="@drawable/password"
48 android:drawablePadding="10dp"
49 />
50 <Button
51 android:id="@+id/btn_1"
52 android:layout_width="match_parent"
53 android:layout_height="50dp"
54 android:layout_below="@id/et_2"
55 android:layout_marginTop="40dp"
56 android:background="@drawable/ic_btn_sel"
57 android:text="Sign in"
58 android:textAllCaps="false"
59 />
60
61 </RelativeLayout>activity_next.xml
1 public class nextActivity extends AppCompatActivity {
2
3 private Button Btn1;
4
5 @Override
6 protected void onCreate(Bundle savedInstanceState) {
7 super.onCreate(savedInstanceState);
8 setContentView(R.layout.activity_next);
9
10 EditText Et1 = findViewById(R.id.et_1);
11 Drawable icon = getResources().getDrawable(R.drawable.account);
12 icon.setBounds(0,0,44,44);
13 Et1.setCompoundDrawables(icon, null, null, null);
14
15 EditText Et2 = findViewById(R.id.et_2);
16 Drawable password = getResources().getDrawable(R.drawable.password);
17 password.setBounds(0,0,44,44);
18 Et2.setCompoundDrawables(password,null,null,null);
19
20 Btn1 = findViewById(R.id.btn_1);
21 Btn1.setOnClickListener(new View.OnClickListener(){
22
23 public void onClick(View view){
24 Toast.makeText(nextActivity.this,"Login failed",Toast.LENGTH_SHORT).show();
25 }
26 });
27 }
28 }nextActivity.java
Android studio 简易登录界面的更多相关文章
- android studio 新建项目 界面一直停在 【“building ‘ 项目名’ gradle project info”】
zhezhelin android studio 新建项目 界面一直停在 [“building ‘ 项目名’ gradle project info”] 安装了android studio 之后,按照 ...
- Java图形界面学习---------简易登录界面
/** * @author Administrator * Java图形界面学习---------简易登录界面 * date:2015/10/31 */ import java.awt.BorderL ...
- android 案例二 登录界面
效果图: 运行图: 总结: 编写这个简单的用户登录界面,主要用到了以下的知识: java基础中的IO流的操作 用以读取.显示用户的信息 Android布局 线性布局和相对布局 数据的存储选在包 ...
- Android之QQ登录界面
首先过程中碰到的几个问题: 1.对 EditText 进行自定义背景 2.运行时自动 EditText 自动获得焦点 3.在获得焦点时即清空 hint ,而不是输入后清空 4.清空按钮的出现时机(在得 ...
- android studio 新建项目 界面一直停在 【“building ‘ 项目名’ gradle project info”】
安装了android studio 之后,按照上文所述的那篇博文下载安装gradle,配置环境变量, 启动android studio,新建项目,发现还是新建不了,界面一直停在 ["buil ...
- android studio简易了解第一部分
1.如果还没下载 jdk,先把jdk下载,然后下载android studio 安装 百度 android studio ,百度软件中心可以下载. Android官网可以下载: 网址: htt ...
- android studio简易了解第二部分
1.新建Moudle(eclispe的项目) 其余的和eclipse差不多,一般情况一直next就可以了! 如果选择New Project会重新打开一个AS.一个AS只会有一个Project(ecli ...
- unity3d的NGUI简易登录界面
1.拖两个文本框和一个按钮在界面上,并做相应的重命名处理,结果如下图: 2.新建一个脚本,附加到“Login”上,脚本内容如下: public UIInput name; public UIInput ...
- Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使用教程,Github入门,界面设计介绍
系统架构分析 Android体系结构 安卓结构有四大层,五个部分,Android分四层为: 应用层(Applications),应用框架层(Application Framework),系统运行层(L ...
随机推荐
- 高阶函数 HOF & 高阶组件 HOC
高阶函数 HOF & 高阶组件 HOC 高阶类 js HOC 高阶函数 HOF 函数作为参数 函数作为返回值 "use strict"; /** * * @author x ...
- Linux bash shell All In One
Linux bash shell All In One Linux https://tinylab.gitbooks.io/shellbook/content/zh/chapters/01-chapt ...
- components & slot
components & slot vue https://github.com/vuejs/rfcs/blob/master/active-rfcs/0001-new-slot-syntax ...
- CodeMirror动态修改代码(关键: editor.getDoc().setValue(data); editor.refresh();)
在使用codemirror时,其原理是根据form中的textarea标签,自动加载其内容,获得代码行的显示.(具体使用方式参见 codemirror官网使用手册 http://codemirror. ...
- JDK环境解析,安装和目的
目录 1. JDK环境解析 1.1 JVM 1.2 JRE 1.3 JDK 2. JDK安装 2.1 为什么使用JDK8 2.1.1 更新 2.1.2 稳定 2.1.3 需求 2.2 安装JDK 2. ...
- Java中出现Unhandled exception的原因
说明某个方法在方法声明上已经声明了会抛异常,那么在调用这个方法的时候,就必须做异常处理,处理的方式有2种,要么try-catch这个异常,要么继续往上一层抛出这个异常,这是java语法要求的,必须这么 ...
- Echars统计图的使用
第一步去官网挑选自己需要的图形了. 官网地址:https://echarts.baidu.com/ 第二步按照官网的demo,下载需要的js组件并放到自己的项目中. 第三步仿照demo创建需要的div ...
- TERSUS无代码开发(笔记03)-常用快捷键
常用快捷键 1.a 普通行为元件调用 2.b 判断输入的值是什么值 3.c 有条件的传值处理 4.e 输出元件 5.f 传值或流程 6.t 输入元件 7.p 调用元件查询 8.x 判断是否有输入值 图 ...
- docker启动ubuntu的桌面环境
一.概述 由于最近一段时间在家办公,国内服务器在阿里云,国外站点在aws.家里的移动宽带比较差,无法访问aws. 所以尝试在阿里云启动docker,找到一个lxde桌面环境的ubuntu镜像. 二.启 ...
- Java 程序员每天都在做什么?
作为一名 在大.中.小微企业都待过 的 Java 开发者,今天和大家分享下自己在不同公司的工作日常和收获.包括一些个人积累的工作提升经验,以及一些 Java 学习的方法和资源. 先从我的第一份 Jav ...

