使用 Android-Studio 时,如果对界面不习惯,可以在 http://color-themes.com/ 网站里找喜欢的主题免费下载后使用 Android-Studio 的菜单 File -> Import Settings... 来使用下载的主题。
在 Android-Studio 中,项目层次默认是按 Android 方式展开的,如下图所示。如果不习惯可以点击 Android 来切换。
其中的 AndroidManifest.xml 相当于项目属性,activity_main.xml 相当于界面属性,strings.xml 是存储各种字符串的地方。
鼎鼎有名的 R.java 文件在这个项目展示方式下面是不可见的,可以切换成其它展示方式后找到,或者直接使用资源管理器的文件搜索 R.java 来找到它。
我们来做一点改动:添加一个按钮,点击按钮后,文字会改变。
在如上图位置展开 Palette 面板,里面是各式各样的 Android 控件,找到 Button 并拖向右边的虚拟手机屏幕中。
感觉这时候的按钮大小不合适?可以在 activity_main.xml 文件中找到 <Button /> 中的 android:layout_height="wrap_content" 这段描述,它表示按钮大小按内容伸展。
我们把其中的 wrap_content 改为 40dp (dp 是 Android 中的一个尺寸单位,用于忽略不同尺寸屏幕带来的显示差异。)
然后把按钮宽改为 match_parent (match_parent 很早就替代了 fill_parent,它表示与其父容器宽度相同)
最终 activity_main.xml 文件内容为:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.test2.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello" android:textColor="@color/colorPrimary" android:layout_centerInParent="true" android:layout_alignParentTop="true" android:id="@+id/textView" /> <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="40dp" android:text="单击我" android:layout_below="@id/textView" android:layout_alignParentStart="true" android:layout_marginTop="167dp" android:onClick="clickHandler"/> </RelativeLayout>
这里添加了一个按钮点击事件 clickHandler ,所以接下来找到 app / java / *project* / MainActivity.java 文件并编辑为:
package com.test2; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void clickHandler(View source) { // 获取 UI 界面中 ID 为 R.id.textView 的文本框 TextView tv = (TextView) findViewById(R.id.textView); // 改变文本框的内容 tv.setText("现在时间是:" + new java.util.Date()); } }
我只是在其中添加了方法 public void clickHandler(View source) { ... } 部分。
接下来就可以点击如下图位置的绿三角,来运行程序看效果了。
部分知识点:
strings.xml 中的字符串,在 xml 文件中的使用方式: @string/key
colors.xml 中的键值对,在 xml 文件中使用的方式: @color/key
即: xml 文件中使用资源: @<资源对应的内部类的类名>/<资源项的名称>
Java 代码中使用资源: R.string.app_name
xml 文件中的标识符: @+id/<标识符代号>
如下代码表示为一个组件分配标识符: @android:id="@+id/ok"
在 xml 文件中使用标识符: @id/<标识符代号>
在 Java 代码中使用标识符: 使用 Activity 的 findViewById()
AndroidMainfest.xml 文件是 Android 应用的清单文件,其中
android:label="@string/app_name" 指定 android 应用标签
android:icon="@mipmap/ic_launcher" 指定 android 图标
------------ End ------------