接上文
Button组件也是我们前面看到过的一个简单组件,这里我们来进行深入的介绍。按钮的基本功能就是供用户点击,然后产生一些效果,比如Web开发中的登录按钮,点击之后即可实现登录效果。
这里我们没有对Button的事件处理操作,还是简单的了解Button的配置。首先来看一下Button的文档:
java.lang.Object
↳ android.view.View
↳ android.widget.TextView
↳ android.widget.Button
可以看到Button类是TextView类的子类,而不是直接继承自View类的。可以说Button是一个特殊的TextView,下面在Eclipse中新建一个项目来演示Button组件:
<Button
android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="这是一个Button组件"
android:textColor="#FDF5E6"
android:textSize="16dp" />
可以看出,Button组件的配置和TextView是极其类似的,因为从类的继承结构上就不难得出这个结论。这里我们也是设置了按钮组件显示的文本,文本的颜色以及文本的大小,下面运行程序来看一下具体效果:
再来看第二个Button示例:
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:text="点击访问: http://www.google.com.hk"
android:textSize="10dp" />
这个Button组件中,我们设置layout_width为wrap_content,也就是包裹文字大小,而不是充满屏幕。同时设置了layout_gravity属性为center,也就是居中显示,而layout_marginTop的意思就是距离上个组件的上边距为20dp,这和CSS中的概念也是一致的。重新设置Button的显示文本和文字大小,再次运行程序,这次在横屏下显示,来看一下效果:
可以看到最终的效果就是上边距为20dp,而左右边距没有变化,仅仅是包裹文字的宽度来显示的。
下面再来看一个示例:
<Button
andr
oid:id="@+id/btn3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="15dp"
android:maxLength="14"
android:text="Powered By Nan Lei"
android:textSize="12dp" />
这里我们调整了layout_width为fill_parent,而设置layout_margin为15dp,也就是上下左右边距都为15dp,再设置最大的显示长度为14个字符,之后运行程序,我们可以看到如下的显示效果:
要注意的是这里如果设置layout_width为wrap_content,那么就不会得到左右边距15dp的效果,而仅仅是包裹文字了。具体所需的显示效果,我们可以根据具体需求去详细调整。
从上面三个例子中可以很容易看出,Button组件的操作和TextView是基本一致的。最后我们来看看在程序中动态生成按钮,代码如下:
package org.ourpioneer;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
public class ButtonDemoActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main);
LinearLayout layout = (LinearLayout) super.findViewById(R.id.layout);
Button btn = new Button(this);
btn.setText("我是在程序中动态创建的按钮");
layout.addView(btn);
}
}
程序代码很简单,但是要说一点就是,我们通过findViewById()方法获取布局管理器时,要在XML中为该布局管理器设置id,也就是说,在main.xml中,我们要修改代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
......
</LinearLayout>
这样,上面的程序代码就可以执行了,效果如下:
至此,我们已经看到了最后的显示效果,我们把一个Button动态的添加到了布局管理器中,此时来看看R.java中都有什么:
package org.ourpioneer;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
}
public static final class id {
public static final int btn1=0x7f050001;
public static final int btn2=0x7f050002;
public static final int btn3=0x7f050003;
public static final int layout=0x7f050000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
可以看到我们为布局管理器加的ID也显示出来了。
最后,我们将该程序安装到Android设备上来具体看看效果(运行设备为Motorola Defy+ Android 2.3.7 MIUI):
这部分的演示代码请参考附件。
接下文
- 大小: 66.5 KB
- 大小: 28.2 KB
- 大小: 39.3 KB
- 大小: 39.7 KB
- 大小: 48.7 KB
- 大小: 48.8 KB
分享到:
相关推荐
这篇“Android学习笔记七:基本视图组件:RadioGroup和RadioButton”深入探讨了这两个组件的使用和实现方式。 首先,RadioButton是Android中的一种选择控件,它允许用户在多个选项中选择一个。每个RadioButton通常...
在Android开发中,基本视图组件是构建用户界面的基础元素,它们提供了丰富的交互方式和视觉效果。本篇文章将深入探讨“CheckBox”这一重要的选择框组件,它是用户进行多选操作时常用的控件。CheckBox通常用于表示两...
在Android开发中,基本视图组件是构建用户界面的基础,其中`ImageView`和`ImageButton`是两种常用的图像显示组件。本篇文章将深入探讨这两个组件,理解它们的工作原理、使用方式以及在实际应用中的最佳实践。 ### 1...
本篇学习笔记将深入探讨TableLayout的核心概念、属性以及使用方法。 一、TableLayout的基本结构 TableLayout由多个TableRow组成,每个TableRow代表一行,可以包含一个或多个子视图。在Android XML布局文件中,...
在这个"Android学习笔记三:第一个应用程序的扩充"中,我们将深入探讨如何扩展这个基础,以更好地理解和掌握Android应用开发的核心概念。 首先,Android Studio作为Google官方推荐的集成开发环境(IDE),是Android...
这篇学习笔记将详细介绍这三个元素的使用方法。 首先,Button是Android中的一个视图控件,用于接收用户的点击事件。创建Button通常通过XML布局文件或代码动态创建。在XML中,我们可以设置Button的文本、大小、颜色...
这篇学习笔记主要涵盖了关于布局的一些基本概念,特别是`fill_parent`和`wrap_content`这两种尺寸指定方式,以及如何通过XML布局文件来精确控制组件的位置。 首先,`fill_parent`和`wrap_content`是Android布局中的...
### Android学习笔记知识点详解 #### 一、简介与背景 Android作为全球最受欢迎的移动操作系统之一,自2007年谷歌发布以来,迅速占领市场并持续引领移动技术的发展。随着移动互联网的兴起和发展,Android应用开发...
这篇学习笔记将引导新手入门,通过创建第一个简单的案例来了解Android Studio的基本操作。 首先,让我们了解一下Android Studio的核心功能。它基于IntelliJ IDEA,具备代码自动补全、重构、调试等强大的开发特性。...
### Android学习笔记:Chronometer(计时器)的使用 #### 一、Chronometer简介 在Android开发过程中,经常会遇到需要计时的情况,比如游戏应用中的倒计时、运动类应用中的跑步计时等场景。这时候,`Chronometer`...
在Android学习过程中,掌握基础知识是至关重要的。这份"android 学习笔记整理"包含了作者在学习Android时积累的详尽资料,旨在为初学者提供一个系统化的学习路径和参考资料。 首先,Android是一种开源的操作系统,...
在Android学习之旅中,初学者会遇到各种概念和实践技巧,这份"Android学习笔记总结初学者必看"的文档正是为了帮助他们系统性地掌握这一领域。以下是对这份压缩包内容的详细解读。 首先,Android是由Google开发的一...
在Android开发中,ListView是一个非常重要的组件,用于展示大量数据的列表形式。在本文中,我们将深入探讨如何在Activity中使用ListView,并通过实例讲解其基本用法。 首先,当我们需要在Activity中仅显示一个...
本篇学习笔记主要探讨了如何自定义电话拨号器的布局以及如何获取布局中的组件对象,这些都是构建自定义拨号应用的关键步骤。以下将详细阐述这两个知识点。 首先,**定义布局** 是Android开发中的基础工作。在XML...
Android 学习笔记主要涵盖两大部分:AndroidManifest.xml 文件配置和资源类型管理。 首先,AndroidManifest.xml 是每个 Android 应用程序的核心配置文件,它告诉系统关于应用的信息,包括所需的权限、组件以及它们...
【Android学习笔记(二三):多页显示-Flipper的使用】 在Android开发中,展示多页内容是常见的需求,通常我们可以通过Tab布局来实现,但除此之外,还有一个组件可以帮助我们实现这一功能,那就是`ViewFlipper`。`...
Activity是Android应用程序的主要组件,它代表了用户可以看到并与其交互的界面。而main.xml则是用来定义Activity用户界面布局的XML文件。 1. Activity的理解 Activity是Android中的一个抽象类,它是应用程序与用户...
总结来说,这份"android学习笔记最新版(1-4)"全面覆盖了Android开发的起步阶段,从基本概念到实际操作,为有志于投身Android开发的新人提供了扎实的学习路径。通过系统学习并实践这些内容,不仅能够掌握Android...