IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 零基础学Android之常用控件 -> 正文阅读

[移动开发]零基础学Android之常用控件

常用控件

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

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上;
    最重要的是理解原理;
    作业:邮箱 手机 密码等等;
    刚才的问题是:高度直接扩到整个手机屏幕了;
-->
    ]]>
    <EditText
        android:id="@+id/uname"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="请输入用户名" />
    <TextView
        android: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;

    @Override
    protected 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(){
            @Override
            public 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个按钮即可,不用太多。-->
    <Button
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:id="@+id/btnLogin"
        android:text="登录"/>
    <ImageButton
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:src="@mipmap/hjamera"
        android:id="@+id/btn222"/>
<!--    增加一个信息提示的控件-->
    <TextView
        android: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;

    @Override
    protected 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(){

            @Override
            public void onClick(View view) {
                //设置内容提示到信息提示变量里面,又和刚才我们讲的一样了.
                msg.setText("看看我的反映哦!!!");
            }
        });


    }
}

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

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:28:08  更:2021-09-14 13:28:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:43:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码