1. 程式人生 > >[Android] 開發第二天

[Android] 開發第二天

知識 blog tex 運行 manifest clas col 帶來 ive

使用 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 ------------

[Android] 開發第二天