逻辑和视图分离
创建Activity
创建一个空的页面
Launcher Activity ☑️ 表示打开即这个页面
Generate a Layout File ☑️ 表示创建布局文件 。 如果不勾选那么手动创建
任何Activity都要对应一个onCreate()方法。
一个空页面
注册
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.HelloWorld">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
- 活动的注册要放在 内。通过来注册。
android:name 表示具体注册哪一个活动。.MainActivity 表示com.example.helloworld.MainActivity。
Toast
package com.example.helloworld;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.taoyaapp);
Button btn1 = (Button) findViewById(R.id.button);
btn1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "You Click", Toast.LENGTH_LONG).show();
}
});
}
}
- 通过 findViewById()方法找到布局文件中的元素。返回一个View对象,向下转型Button对象
- 通过setOnClickListener 注册监听器。
- Toast三个参数
第一个Context
第二个显示的文本内容
第三个显示的时长
寻找控件
给控件一个id
比如
android:id="@+id/one"
那么我们就可以寻找到这个控件了
TextView one = findViewById(R.id.one);
one.setText("Hello");
引用String
我们不直接将字符串写入到布局文件中,而是。
定义 res/values/strings.xml
<resources>
<string name='one'> One </string>
</resources>
引用
<TextView
android:text='@string/one'
>
...
</TextView>