•参考资料

  [1]:视频资源

  [2]:Android TextView设置图标,调整图标大小

•效果展示图

  

•前置知识

  • 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 简易登录界面的更多相关文章

  1. android studio 新建项目 界面一直停在 【“building ‘ 项目名’ gradle project info”】

    zhezhelin android studio 新建项目 界面一直停在 [“building ‘ 项目名’ gradle project info”] 安装了android studio 之后,按照 ...

  2. Java图形界面学习---------简易登录界面

    /** * @author Administrator * Java图形界面学习---------简易登录界面 * date:2015/10/31 */ import java.awt.BorderL ...

  3. android 案例二 登录界面

    效果图: 运行图:   总结: 编写这个简单的用户登录界面,主要用到了以下的知识:   java基础中的IO流的操作 用以读取.显示用户的信息 Android布局 线性布局和相对布局 数据的存储选在包 ...

  4. Android之QQ登录界面

    首先过程中碰到的几个问题: 1.对 EditText 进行自定义背景 2.运行时自动 EditText 自动获得焦点 3.在获得焦点时即清空 hint ,而不是输入后清空 4.清空按钮的出现时机(在得 ...

  5. android studio 新建项目 界面一直停在 【“building ‘ 项目名’ gradle project info”】

    安装了android studio 之后,按照上文所述的那篇博文下载安装gradle,配置环境变量, 启动android studio,新建项目,发现还是新建不了,界面一直停在 ["buil ...

  6. android studio简易了解第一部分

    1.如果还没下载 jdk,先把jdk下载,然后下载android studio 安装 百度 android studio ,百度软件中心可以下载. Android官网可以下载:     网址: htt ...

  7. android studio简易了解第二部分

    1.新建Moudle(eclispe的项目) 其余的和eclipse差不多,一般情况一直next就可以了! 如果选择New Project会重新打开一个AS.一个AS只会有一个Project(ecli ...

  8. unity3d的NGUI简易登录界面

    1.拖两个文本框和一个按钮在界面上,并做相应的重命名处理,结果如下图: 2.新建一个脚本,附加到“Login”上,脚本内容如下: public UIInput name; public UIInput ...

  9. Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使用教程,Github入门,界面设计介绍

    系统架构分析 Android体系结构 安卓结构有四大层,五个部分,Android分四层为: 应用层(Applications),应用框架层(Application Framework),系统运行层(L ...

随机推荐

  1. Tumult Hype

    Tumult Hype hype generated script https://tumult.com/hype/documentation/ HTML5 animation editor http ...

  2. Flutter Widgets

    Flutter Widgets Flutter 组件 Syncfusion Flutter Widgets 所有组件均支持即装即用的 Android,iOS和 Web not free https:/ ...

  3. what's the difference amount of pdf, epub, and mobi format

    what's the difference amount of pdf, epub, and Mobi format What is the difference between pdf, epub ...

  4. windows10 安装NASM

    NASM官网 下载NASM NASM在线HTML文档 下载golink golink文档 NASM教程 in windows x64调用约定 x86调用约定 编码样式约定 在编写nasm时数字默认为1 ...

  5. 金三银四助力面试-手把手轻松读懂HashMap源码

    前言 HashMap 对每一个学习 Java 的人来说熟悉的不能再熟悉了,然而就是这么一个熟悉的东西,真正深入到源码层面却有许多值的学习和思考的地方,现在就让我们一起来探索一下 HashMap 的源码 ...

  6. 01_MySQL从下载—>安装—>到快速上手

    一.MySQL下载 二.MySQL安装 三.MySQL几条简单命令快速上手(增删改查) 一.MySQL下载与安装 下载地址:https://dev.mysql.com/downloads/mysql/ ...

  7. 24_MySQL插入insert语句

    本节涉及SQL语句: -- MYSQL 基础操作 1.插入insert语句 INSERT INTO t_dept(deptno,dname,loc) VALUES(70,"后勤部" ...

  8. Vue学习笔记-nodejs+vue-cli4+webpack按装配置+项目创建

    一  使用环境: windows 7 64位操作系统 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nodejs的官网下载  https: ...

  9. 微信小程序优化:实现picker组件中input输入框禁止输入,而只能通过picker组件选择日期

    原来的代码如下: <view class="right">     <picker mode="date" value="{{mat ...

  10. Nearby Service新特性:Wi-Fi分享

    PART 1: Wi-Fi分享功能介绍 朋友来家里做客.顾客到店里用餐-当他们想要给自己的手机链接Wi-Fi时,总免不了询问Wi-Fi名称和密码..这种问密码和给密码的过程十分麻烦,常常还会有听错或者 ...