[Android] 開發第二天
使用 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] 開發第二天