Android UI编程(View、ViewGroup类、按钮、TextView、EditText)

1、View和ViewGroup类

Android中所有的UI元素都是使用View和ViewGroup类的对象建立的。

View:将一些信息绘制在屏幕上可以与用户产生交互

Viewgroup:包含多个View和Viewgroup的容器,用来定义UI布局

2、按钮

(1)方式一:

配置:

 <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

在类中调用Button并为之设置属性:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button =(Button)findViewById(R.id.btn);
        button.setText("取消");
        Log.v("info", "onCreate");
    }

(2)方式二:

配置文件中设置:

    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="确定" />

在类中不再进行设置:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button =(Button)findViewById(R.id.btn);
        Log.v("info", "onCreate");
    }

这两种方式实现的效果是相同的,但是,第二种方式能够实现解耦的功能。

(3)按钮实现流程:

3、文本框(TextView)

(1)属性:

自动检测:

android:auto Text
setKeyListener(KeyListener)

文本信息下部显示内容:

drawableButtom
setCompoundDrawablesWithIntrinsicBounds

是否可编辑:

editable

字体设置:

fontFamily

文本框为空时显示的提示:

hint

对齐方式:

gravity

输入法:

inputMethod

文本的格式:

inputType

多少行内容:

lines

设置文本:

text

外观:

textAppearance

颜色:

textColor

大小:

textSize

返回行数:

getLine

(2)布局代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".ImageWidgetActivity" >
    <!-- 第一个内嵌布局为线性布局,控件横向摆放 -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <!-- 第一个内嵌布局中的第一个控件为TextView,用于显示文本信息 -->
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:text="图片"
            android:textColor="#ff00ff"/>
        <!-- 第一个内嵌布局中的第二个控件为ImageView,用于显示图片 -->
        <ImageView
            android:id="@+id/iv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>
    <!-- 第二个内嵌布局为线性布局,控件横向摆放 -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
    <!-- 第二个内嵌布局中的第一个控件为TextView,用于显示文本信息 -->
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:text="图片按钮"
            android:textColor="#ff00aa" />
    <!-- 第二个内嵌布局中的第二个控件为ImageView,用于显示图片按钮 -->
        <ImageButton
            android:id="@+id/ib"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right" />
    </LinearLayout>

     <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
        android:layout_width="200dp"
        android:layout_height="40dp"
        android:background="#000000"
        android:textColor="#ff00ff"
        android:text="我是一个文本框!!"
        />

    </LinearLayout>

    <!--最外面的线性布局内嵌控件为TextView,用于显示文本信息 -->
    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

4、编辑框(EditText)

(1)常用属性:

普通文本:

text

所有字母大写:

textCapCharcters

每个单词首字母大写:

textCapWords

多行输入:

textMultiLine

(2)效果演示:

    <EditText
        android:id="@+id/et"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:hint="请输入用户名"
        android:textColorHint="#ff00ff"
        android:selectAllOnFocus="true"
        android:inputType="text" />

原文地址:https://www.cnblogs.com/zhai1997/p/12376502.html

时间: 2024-10-09 22:58:23

Android UI编程(View、ViewGroup类、按钮、TextView、EditText)的相关文章

Android UI编程(6)——HandlerThread

介绍: HandlerThread继承Thread,当线程开启时,也就是它run方法运行起来后,线程同时创建了一个含有消息队列的Looper,并对外提供自己这个Looper对象的get方法,这就是它和普通Thread唯一不同的地方. 好处: 为什么要使用HandlerThread 1.开发中如果多次使用类似new Thread(){}.start(); 这种方式开启一个子线程,会创建多个匿名线程,使得程序运行越来越慢,而HandlerThread自带Looper使他可以通过消息来多次重复使用当前

Android UI编程之自定义控件初步(下)——CustomEditText

概述: 基于对上一篇博客<Android UI编程之自定义控件初步(上)--ImageButton>的学习,我们对自定义控件也有了一个初步的认识.那现在我们可以再试着对EditText进行一些自定义的学习.以下有两种方式的自定义UI编程分享给大家. 示例:带删除按钮的输入框 效果图展示:   基本雏形搭建: 大家可以从上面的效果图上看到两个东西:左侧的EditText和右侧的图片(这里是一个Button).我们在EditText中的输入为空的时候,不显示右侧的清除按钮.一旦EditText中输

Android UI编程之自定义控件初步——ImageButton

概述: 我想我们在使用一些App的时候,应该不会出现一些"裸控件"的吧.除非是一些系统中的软件,那是为了保持风格的一致性,做出的一些权衡.我这里并非是在指责Android原生的控件不好看,说实在的,我很喜欢Android的一些原生控件.只是有些时候为了风格的一致性,就不得不去花些功夫在美工上.这于美工这一点,我对某讯的产品的确欣赏.下面就让我们开始一点一点学习Android UI编程中的自定义控件. 分析: 自定义控件就点像堆积木,并给它涂上颜色,和功能说明.下面就让我们用一个例子来逐

Android UI编程(7)——Fragment

Fragment是Activity的界面中的一部分或一种行为.你可以把多个Fragment们组合到一个Activity中来创建一个多面界面并且可以在多个Activity中重用一个Fragment.也可以把Fragment认为模块化的一段Activity,它具有自己的生命周期,接收它自己的事件,并可以在Activity运行时被添加或删除. Fragment不能独立存在,它必须嵌入到activity中,而且Fragment的生命周期直接受所在的Activity的影响.例如:当Activity暂停时,

Android UI编程(1)——九宫格(GridView)

参考博客:http://blog.csdn.net/xyz_lmn/article/details/6906255 总结: 1.GridView(网格视图)按照行列来显示内容,每个网格可以用已有的布局或自定义的布局来填充,并且GridView每行可以显示多个网格,即有列数之说. 2.GridView需要结合适配器(Adapter)一起使用,使用GridView类的实例对象中的setAdapter方法初始化网格视图,即gridView.setAdapter(myAdapter). 3.将GridV

Android UI编程(2)——多级列表(ExpandableListView)

参考博客: http://blog.csdn.net/xyz_lmn/article/details/6906268 http://www.apkbus.com/android-124715-1-1.html 有时候,使用ListView并不能满足应用程序所需要的功能.有些应用程序需要多组ListViw,这时候我们就要使用一种新的控件ExpandableListView--可以扩展的ListView.它的作用就是将ListView进行分组.就好像我们使用QQ的时候,有"我的好友",&q

Android UI编程(4)——Thread、Message、Handler

当应用程序启动时,会开启一个主线程(也就是UI线程),由它来管理UI,监听用户点击,来响应用户并分发事件等.所有一般在主线程中不要执行比较耗时的操作,如延时.下载网络数据.死循环,否则出现ANR错误.所以就将这些操作放在子线程中,但是由于Android UI线程是不安全的,所有只能在主线程中更新UI.使用Thread来创建子线程.使用Message来存储数据.使用Handler来处理消息数据. 总结: 1.子线程与UI主线程之间通过Message来传递数据,需要创建一个新类(MyHandler)

Android UI编程(8)——动态加载Fragment

通过动态加载fragment实现在一个Activity拥有3种不同的布局,直接看效果图吧: 常规模式下: 点击家居控制: 代码: AndroidManifest.xml--没有做任何修改,创建工程默认 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package

Android UI编程(9)——ViewPager、Activity

利用ViewPager可以实现滑屏效果,如今智能手机随处可见滑屏效果.最常见的就是手机launcher上的滑屏,以及各大型软件个菜单之间的滑屏,如微信. 参考博客:http://blog.csdn.net/harvic880925/article/details/38521865,里面有对ViewPager详细讲解 先看效果图: 代码: AndroidManifest.xml--没有做任何修改,创建工程默认 <?xml version="1.0" encoding="u