12_电话拨号器_界面实现
项目的名字可以用中文,但是包名不能用中文。
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout>
RelativeLayout相对布局,它可以存放元素。例如TextView元素是可以用来存放文本的。TextView的内容用户不能修改。
TextView指定了两个属性layout_width(布局的宽度)和layout_height(布局的高度)。每一个安卓控件要是想在屏幕上显示必须得给它指定一个宽度和高度。wrap_content(包裹内容)指文本框刚好包裹了文字。
实际上fill_parent和match_parent是一个效果。早期是fill_parent,后期改称它为match_parent.fill_parent是填充父容器,match_parent是匹配父容器。虽然fill_parent和match_parent是一个效果,但是比较推荐的是match_parent.
parent是屏幕,padding是内边距。
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
这段XML指定了白圈的内容距离RelativeLayout的边有一个最小的距离,这个距离就是padding指定的内边距。
android:text="@string/hello_world"
布局文件activity_main.xml的@可以理解为到gen下的R.java文件去找。
R.java有一个静态内部类String.class
public static final class string { public static final int action_settings=0x7f050001; public static final int app_name=0x7f050000; public static final int hello_world=0x7f050002; }
String.class的静态成员变量hello_world对应的索引是0x7f050002。String.class的静态成员变量hello_world的这个索引0x7f050002和res/values/strings.xml的hello_world是一一对应的.
<string name="hello_world">Hello world!</string>
如果觉得麻烦,直接把
android:text="@string/hello_world"
改成
android:text="请输入电话号码" />
I18N叫做国际化.
I18N] Hardcoded string "请输入电话号码", should use @string resource
应该到R.java找索引,再通过索引找到strings.xml里面对应的内容.
EditText是可编辑的输入块。Button按钮。
EditText增加输入块的提示
android:hint="在这里输入电话"
Button修改android:text的值。
android:text=""拨打此号码"
第一步画UI就这样做完了.