android 控件上下排列_Android-基本控件和详解四种布局方式

转自:https://www.cnblogs.com/ludashi/p/4883915.html

一、常用基本控件

1.TextView

看到Android中的TextView, 我不禁的想到了iOS开发中的UILabel。从字面意思上看,TextView就是文本视图,只是用来显示文字的。在iOS中就叫做标签,即为UILabel。要想在Activity中显示TextView, 我们需要在相应的布局文件,也就是Activity对应的layout.xml文件去添加相应的控件标签。这些xml标签可以确定控件的位置,大小,颜色等属性。下方是在Activity中显示一个TextView。布局代码如下:

1

2 android:id="@+id/name_text_view"

3 android:layout_width="match_parent"

4 android:layout_height="wrap_content"

5 android:gravity="center"

6 android:textSize="30sp"

7 android:textColor="#be0e0a"

8 android:text="My name is ZeluLi"/>

标签代表着我们要在Activity中添加一个个TextView, 标签中可以设置一些属性。

(1).android:id属性代表着TextView的Id,也就是TextView的唯一标示,在java代码中我们可以通过findViewById()方法来通过Id获取控件。上述控件的唯一id为name_text_view。

(2).android:layout_width属性代表着控件的宽度,该属性的值是match_parent, 表示该控件的宽度与父视图的宽度相同。

(3).android:layout_height属性代表着控件的高度,该属性的值是wrap_content,表示控件的高度根据内容的高度进行改变。

(4).android:gravity属性代表着TextView中文字对齐方式,有多种方式,我们在此选的是center,居中显示。

(5).android:textSize属性代表着TextView中文字的型号,也就是文字的大小。

(6).android:textColor属性设置的是TextView中文字的颜色,属性值是16进制的色值。

(7).android:text属性就是用来设置TextView显示的值的。

我们如何在Java类,也就是Activity中获取上述控件呢,下方的代码就是使用findViewById()方法通过id获取上述控件,并获取TextView中的值以及设置TextView中的值。具体代码如下。

TextView myTextView = (TextView) findViewById(R.id.name_text_view);

String myText = myTextView.getText().toString();

myTextView.setText(myText+" Add");

经过上面的属性的设置,运行工程,你会在Activity中看到如下效果:

2.Button

在Android中的按钮就叫Button, 而在iOS中则叫UIButton。其两者的用法极为相似。还是和上面类似,我们需要在Activity对应的布局文件layout.xml中添加一个Button, 具体的xml代码如下所示。标签就是代表着Button, 其中的属性和属性值就不做过多的赘述了,上面已经提到了。

android:id="@+id/click_button"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="点我"/>

在Activity的类中也是使用findViewById来通过Id获取该按钮,获取按钮后我们需要给按钮绑定点击事件。也就是点击按钮要做的事情,下方给出了两中方式,一种是块的形式,一种是委托代理的形式。

(1).接口回调的形式绑定点击事件

1 Button button = (Button) findViewById(R.id.click_button);

2 button.setOnClickListener(new View.OnClickListener() {

3 @Override

4 public void onClick(View v) {

5 //点击按钮要做的事情

6 }

7 });

(2)委托代理

1 button.setOnClickListener(this);

2

3 //重写委托回调的方法

4 /**

5 * Called when a view has been clicked.

6 *

7 * @param v The view that was clicked.

8 */

9 @Override

10 public void onClick(View v) {

11 switch (v.getId()){

12 case R.id.click_button:

13 //点击按钮后要做的事情

14 break;

15 default:

16 break;

17 }

18 }

经过上面的步骤就会在TextView下面添加了一个按钮,运行效果如下所示

3.EditText

接下来要为Activity添加一个输入框,在Android中输入框的类型和标签都是EditText。iOS中的输入框就是UITextField了,其实两者用法类似,其功能都是接收用户输入的数据的。下方是其xml布局方式.

1

2 android:id="@+id/edit_text"

3 android:layout_width="match_parent"

4 android:layout_height="wrap_content"

5 android:hint="placeHoder: type something here"

6 android:maxLines="3"/>

上方EditText标签中比之前多了两个属性:

(1).android:hint属性后边是一个字符串,其实就是用来占位用的字符串,功能是提示用户该输入框是干嘛的,在iOS开发中叫做Placeholder。

(2).android:macLines 用来设置输入框的最大行数。

在Activity中获取EditText对象,也是通过Id方式,下方代码是获取通过id实例化EditText对象,并获取其中的文本在Toast上显示。

EditText myEditText = (EditText) findViewById(R.id.edit_text);

String inputText = myEditText.getText().toString();

Toast.makeText(MainActivity.this, inputText, Toast.LENGTH_SHORT).show();

输入框如下所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值