UI布局初试---one

(UI)用户界面

Android 应用的图形界面使用 View 对象和 ViewGroup 对象层次结构而构建。View 对象通常为按钮或文本字段之类的 UI 小部件。而 ViewGroup 对象则为不可见的视图容器,它们定义子视图的布局,比如是网格布局还是垂直列表布局。

Android中,一般讲究视图和功能分离,所以我们一般采用XML文件来编写与用户的交互界面,而Android 提供对应于 View 和 ViewGroup 子类的 XML 词汇,以及大量的UI开发工具,以便我们使用 UI 元素层次结构以 XML 格式定义 UI。

ViewGroup 视图组
  • 布局是 ViewGroup 的子类

图为ViewGroup 对象如何在布局中形成分支并容纳其他 View 对象的图解

常用控件的使用方法

一:TextView

TextView可以说是Android中最简单使用的控件了,主要的作用就是在界面上显示一段文本信息

栗子:
<TextView
    android:id="@+id/tv_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="This is a TextView" />

常用属性

android:text:用来指定TextView中显示的文本内容的
android:gravity:指定文字的对齐方式,可选值有top,bottom,left,right,center等。
android:textSize:指定文字大小,Android中文字大小使用sp作为单位
android:textColor:指定文字颜色

android:layout_width 和 android:layout_height 则是用来指定视图的宽度和高度,即视图的尺寸大小,是每一个视图都必写的元素。

可选值有三种:

  • match_parent 表示让当前控件的大小和父视图的大小一样
  • wrap_content 表示让当前控件的大小刚好能包裹住里面的内容,也就是由控件的内容决定当前控件的大小
  • fill_parent 与match_parent意义相同,不过更推荐使用match_parent
  • 第四种就是指定具体的大小,使用dp(设备独立像素)作为单位,不推荐使用px,一般情况下也不推荐使用具体大小,因为这样做有时会在不同手机屏幕的适配方面出现问题
Button

Button是程序和用户之间进行交互的一个重要控件

栗子:
<Button
    android:id="@+id/btn"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Button"
    android:textColor="#ff0000"
    android:textSize="25sp"/>

属性大致上和TextView差不多,不一一写了。在Android中,系统会对Button中所有的英文字母自动进行大写转换,我们可以使用android:textAllCaps=”false”来禁用这以功能

然后我们可以为按钮注册一个点击事件

例子:
    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState{
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button button = (Button) findViewById   (R.id.btn);
        button.setOnClickListener(new View.OnClickListener  () {
            @Override
            public void onClick(View view) {
                //在这里添加代码逻辑
            }
        });

    }
}

这样之后,每当我们点击了这个按钮,就会执行监听器OnClick()方法中的代码,还可以通过实现OnClickListener接口的方式来注册一个监听事件,不过一般情况下我们都是使用匿名内部类的方式来进行注册

EditText

他的作用是运行用户在控件里面输入和编辑内容,并可以在程序中对这些内容进行处理

栗子:
    <EditText
    android:id="@+id/et"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Type something here"/>

android:hint:指定了一段提示性的文本内容,在输入内容的时候会消失
android:maxLines:指定了EditText的行数

ImageView

他的作用是在界面上展示一些图片

栗子:
    <ImageView
    android:id="@+id/iv_photo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/img"/>

android:src:指定图片

未完待续。。。笔记持续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值