活動(Activity)是一種能夠包含用戶界面的組件,主要用於和用戶進行交互。java
右擊 app/src/main/java/com/example/activitytest
-> New -> Activity -> Empty Activity -> FirstActivity
,不勾選 Generate Layout File
和 Launcher Activity
,勾選 Backwards Compatibility
啓用向下兼容模式。android
public class FirstActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } }
右擊 app/src/main/res
-> New -> Directory -> layout
,app
右擊 layout
-> Layout resource file -> first_layout
& LinearLayout
ide
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button_1" #定義按鈕ID語法:@+id/id_name android:layout_width="match_parent" #定義元素寬度:匹配父元素 android:layout_height="wrap_content" #定義元素高度:適配包含的元素 android:text="Button 1" /> </LinearLayout>
public class FirstActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 在當前活動中加載 first_layout 佈局 setContentView(R.layout.first_layout); } }
# app/src/main/AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.activitytest"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".FirstActivity" #註冊的活動名稱,可省略包名 android:label="This is FirstActivity"> #指定活動標題 <intent-filter> <action android:name="android.intent.action.MAIN" /> #設爲主活動 <category android:name="android.intent.category.LAUNCHER" /> #設爲啓動器 </intent-filter> </activity> </application> </manifest>
public class FirstActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 在當前活動中加載 first_layout 佈局 setContentView(R.layout.first_layout); // 經過按鈕ID獲取按鈕對象 Button button1 = (Button) findViewById(R.id.button_1); // 設置按鈕監聽器 button1.setOnClickListener(new View.OnClickListener() { // 綁定點擊事件 @Override public void onClick(View v) { // 註冊 Toast 並顯示 Toast.makeText(FirstActivity.this, "You clicked button1", Toast.LENGTH_SHORT).show(); } }); } }
右擊 app/src/main/res
-> New -> Directory -> menu
,佈局
右擊 menu
-> New -> Menu resource file -> main
this
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item # 第一個菜單項 android:id="@+id/add_item" android:title="Add"/> <item # 第二個菜單項 android:id="@+id/remove_item" android:title="Remove"/> </menu>
public class FirstActivity extends AppCompatActivity { @Override public boolean onCreateOptionsMenu(Menu menu) { // 使用 MenuInflater 對象爲當前活動建立菜單 getMenuInflater().inflate(R.menu.main, menu); return true; } // 監聽菜單選擇事件 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.add_item: Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show(); break; case R.id.remove_item: Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show(); break; default: } return true; }
button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } });