常用控件

上次我们讲了布局:线性布局、表格布局、帧布局和相对布局,这个布局,它是在整个移动端设计内容的一个框架的方式,以什么方式来设计界面。最终在界面里面,放置的是控件,所谓控件,就是程序员可以控制的组件,将来用户可以和程序进行交互的组件。

1.文本控件

TextView:主要用来向用户显示内容。相当于一个标签,只显示

EditText:可以用于编辑内容。 相当于一个文本框,可以编辑


控件最重要的是了解它的属性,了解了属性,在了解之后会更加简单。

省略:anroid:打头

TextView的属性 Java代码

text 设置TextView的内容 setText(文本)

textColor 设置文本的颜色 setTextColor(颜色)

textSize 设置文本的大小; setTextSize(大小)

gravity 定义TextView在x轴和y轴方向上的显示方式

hint: 提示信息 setHint(int);

EditText属性:相当于文本框

lines: 设置行数 setLines(int)

singleLine 单行 setSingleLine(boolean)

password 设置是否是密码 setTransformationMethod(参数)

phoneNumber 设置内容只能是电话号码 setInputType(InputType类型)

事件监听

setOnKeyListener 对键盘事件进行监听

在前面设计布局的时候,在下面这个文件写代码;

active_main.xml

<!--输入的文本框,和显示View同步显示一下;EditText--><![CDATA[TextView上;最重要的是理解原理;作业:邮箱 手机 密码等等;刚才的问题是:高度直接扩到整个手机屏幕了;
-->]]><EditTextandroid:id="@+id/uname"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="请输入用户名" /><TextViewandroid:layout_width="match_parent"android:layout_height="50dp"android:id="@+id/unameInfo"android:background="@color/purple"android:text="测试"android:textSize="20dp"/>
public class MainActivity extends AppCompatActivity {//先定义两个变量;如果报红,按住Alt+Enter,导入相关的类;EditText uname;TextView unameInfo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);
//--------------------------------------------//如何写后台代码;通过后台代码来操作前面的控件//是不是需要来获取这个控件呢???uname=(EditText) findViewById(R.id.uname);unameInfo=(TextView) findViewById(R.id.unameInfo);//以后控件的方式都是这样的;//接下来操作之,这个是一个监听方式,需要添加监听器//红色波浪线的问题,这个是使用匿名类的方式来导入其方法;仍然是Alt+Enter,实现抽象方法uname.setOnKeyListener(new View.OnKeyListener(){@Overridepublic boolean onKey(View view, int i, KeyEvent keyEvent) {//接受这个输入;String str=uname.getText().toString();System.out.println(str+"-----");unameInfo.setText(str);return false;}});}
}

2.按钮控件

按钮控件就是我们平时看到的Button按钮和ImageButton控件,用的比较多,一般都是用来操纵按钮来实现相应的命令,比如说在手机上很多的查找、登录、注册,各种点击游戏等。

按钮控件名:是啥?

Button

ImageButton:

这个和Button的区别在于它是没有文本的,只有啥?图片,所以需要制定它的图片路径。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical">
<!--    按钮组件,定义2个按钮即可,不用太多。--><Buttonandroid:layout_width="100dp"android:layout_height="wrap_content"android:id="@+id/btnLogin"android:text="登录"/><ImageButtonandroid:layout_width="100dp"android:layout_height="wrap_content"android:src="@mipmap/hjamera"android:id="@+id/btn222"/>
<!--    增加一个信息提示的控件--><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/msg"android:textSize="20dp"/>
</LinearLayout>

后台代码

package com.aaa.zyg001;
// 这个是包的定义
//import导入相关的类;
import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;import org.w3c.dom.Text;public class MainActivity extends AppCompatActivity {//1.声明变量,表示2个按钮对象;Button btn1;ImageButton btn2;//信息提示的变量;TextView msg;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);
//------------------------------------------------------------------btn1=(Button) findViewById(R.id.btnLogin);btn2=(ImageButton)findViewById(R.id.btn222);//同样需要增加提示信息的对象;msg=(TextView)findViewById(R.id.msg);//大家观察一下,是不是和刚才 演示的文本框和密码框方式一样????//接下来设置两个按钮的事件来测试一下btn1.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {//设置内容提示到信息提示变量里面,又和刚才我们讲的一样了.msg.setText("看看我的反映哦!!!");}});}
}

作业:做下测试或扩展一下即可。

零基础学Android之常用控件相关推荐

  1. 零基础学鸿蒙编程-UI控件_DatePicker

    什么是DatePicker DatePicker是一种日期滚轮式选择器.常见效果如下: 1.基本用法 效果图 代码 <DatePickerohos:height="match_cont ...

  2. 安卓基础学习 Day 6|常用控件---列表视图+古诗查看

    目录 列表视图4要素 四种是适配器 古诗查看 古诗列表 1.主布局资源文件 2.诗歌列表项模板 3.字符串资源文件 4.主界面代码 5.启动应用.查看效果 古诗内容模板 1.内容模板的主布局资源文件 ...

  3. ExtJS基础知识总结:常用控件使用方式(一)

    概述 最近一直在做相关ExtJs方面的项目,遇到了ExtJs使用方面的一系列问题,现在将使用技巧做个记录汇总,以便于下次能够快速使用.以下都是ExtJs控件的常用方法,做简单汇总,俗话说,好记星不如烂 ...

  4. 零基础学Android开发系列

    目标:沉浸了这么久,准备写点文章,在写文章的同时,巩固Android开发的基础知识,每天一个Android小案例,从零带领大家开发简单的Android应用.

  5. 2019零基础学Android第0课——零基础怎么学Android?

    按照正常逻辑,今天应该是直接进入AndroidStudio开发环境搭建课程了.但我想在写这系列之前,先和一些刚入门的同学一起来探讨下,怎么去学习Android? 当今社会大家应该都会有个感受:信息实在 ...

  6. 电路结构原理_零基础学电工之常用电气符号和举例认识电路图

    ​要学会看电路图,必须先学会电工专业常用电气符号,在此基础上,结合电工基础理论识图,结合电器元件的结构和工作原理识图,结合电路图的绘制特点识图,就能看明白电路图了.本文以CA6140型车床电路图为例讲 ...

  7. android 商城常用控件,android 自定义商城app价格正序倒序控件

    1.效果图如下: 2.自定义视图布局文件 price_up_down.xml android:layout_width="wrap_content" android:layout_ ...

  8. 零基础学Android——布局管理器

    第一章<第一个Android应用程序> 第三节 布局管理器 导入: 我们在使用手机软件时候,可以发现每一款软件的组件排列方式都是不同的,这样的布局可以轻松的了解和使用软件,在这一节和我一起 ...

  9. 2019零基础学Android第1课——Android开发环境搭建

    Android开发工具主要是以AndroidStudio为主,注意如果你在网上还看到有人在介绍eclipse去开发android,那么你可以直接忽略那个介绍了,因为eclipse现在很少有人用了.无论 ...

最新文章

  1. 多线程中的队列不一定需要线程安全
  2. 2021-02-28 Latex中文说明书、Latex海报模板
  3. Jenkins-自动化构建、测试和部署-学习笔记
  4. flex textInput 限制输入
  5. 抓包工具 tcpdump tshark
  6. js数组去重方法分析与总结
  7. mysql隐式锁_innodB的隐式锁
  8. 百位女星镂空装秀性感 展现的是赘肉还是性感
  9. python模拟硬件实现btb和tomasulo算法
  10. 开路电压法与电流积分法
  11. Ubuntu 10.4 .安装Cairo-dock
  12. C语言 string.h头文件
  13. Cryptarithmetic Problem ‘ODD+ODD == EVEN’;map()函数,reduce()
  14. dubbo源码解析-逻辑层设计之服务降级
  15. 手游运营需网络文化经营许可证?1000万资本金门槛
  16. Android逆向——网易云音乐排行榜api(上)
  17. 关于Redim 和 Dim的应用
  18. php header 302 move,302 Moved Temporarily和302 Found有什么区别?
  19. #Easy Handeye配置
  20. qt运行编译按钮居然是灰色的

热门文章

  1. dart系列之:dart代码规范实践指南
  2. redis.mecmcached和mongoDB的区别
  3. C++ std::thread 和 std::jthread 使用详解 (含C++20新特性)
  4. leetCode--733.图像渲染
  5. 社交网络图中结点的“重要性”计算 (30 分)【最高效解法】
  6. 哥尼斯堡的“七桥问题” (25 分)【欧拉回路模板题】
  7. 【最新合集】研究生工程伦理课程答案整理
  8. Servlet到底是个什么东西???【【博采众长】】
  9. 《数据结构》c语言版学习笔记——其他链表(线性表的链式存储结构Part2)
  10. yy直播没声音html,驱动技巧:解决YY语音中麦克风无声或者有噪音的问题