Android开发第二课

目录

Activity 

如何在后期修改loginactivity为启动类?

XML的标记补充

在布局中添加按钮

修改button的文字

java文件中为按钮添加监听事件

布局

属性

新建布局文件


Activity 

1. 创建一个activity

  •  generate a layout file是是否生成布局文件,点击选中
  • launcher activity代表是否作为启动类,先不进行选中
  • 创建结束后,在manifest.xml中会添加一段关于login的声明

点之前代表的是省略的包名路径

如何在后期修改loginactivity为启动类?

启动类只能有一个,修改了一个之后要把另一个的启动类变成非启动类

  1. 把<intent-filter>标签里的内容粘贴进LoginActivity的标签中,然后把exported属性的false改为true
  2. 同理,把原来为启动类的MainActivity的<intent-filter>去掉,把true改为false

效果如下:

修改前:

修改后: 

<activity
            android:name=".LoginActivity"
            android:exported="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".MainActivity"
            android:exported="false">

        </activity>

XML的标记补充

头标记,不需要包含东西的话,直接斜线结束:<activity …… />

如果需要再进行嵌入,则需要再添加一个尾标记</***>,然后在其中进行插入

  • 如在第一个activity标签中就是只有头标签,属性放在<activity …… />中
  • 第二个activity标签是完整的。形如<activity>……</activity>

 

在布局中添加按钮

activity_login.xml文件在设计模式下拖动按钮进入布局中,则可出现下面的代码,<Button....../>中是按钮的属性

该按钮的id是button 

修改button的文字

如果想要修改button按钮上的文字,需要先在string.xml中定义字符串,再使用@引用

1. 在strings.xml中定义名为btnLoginTxt的按钮

<resources>
    <string name="app_name">红柚子的APP</string>

<!--    定义登录按钮文字的字符串-->
    <string name="btnLoginTxt">点击登录</string>
</resources>

 2. 再在button属性中使用 @string/字符串名 的形式进行对该字符串的引用

android:text="@string/btnLoginTxt"

java文件中为按钮添加监听事件

  1.  在java中创建一个button对象,使用findViewById方法把布局中的按钮和java中的按钮对象联系起来
  2. 添加监听器,监听对象使用匿名类,输入new后自动补全后面的代码,完成对匿名类的创建
  3. 在模拟器上显示浮动信息,使用toast函数,修改对应的text内容
  4. 在logcat中测试按钮,使用Log.d("btnclick", "按钮被点击了");

注意

 setCountView中R.layout.***引用的布局文件可以自定义,需要显示哪个布局文件就引用哪个

findViewById方法中连接的按钮也可以根据不同的按钮id进行更换

代码: 

package cn.edu.sdut.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class LoginActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


//        加载布局文件,是第一行代码
//        通过activity_login.xml布局文件展现效果,布局效果layout.***可以任意更换
        setContentView(R.layout.login_linearlayout);

//        事件点击,把布局文件中的按钮与java中的对象联系起来,使用fvi方法
        Button btnLogin = findViewById(R.id.button2);

//        添加监听器,监听对象使用匿名类,输入new后自动补全后面的代码,完成对匿名类的创建
        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
//                在logcat中测试按钮
                Log.d("btnclick", "按钮被点击了");
//                在模拟器上显示浮动信息,使用toast函数,修改对应的text内容
                Toast.makeText(LoginActivity.this, "按钮被点击了", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

测试效果: 

布局

view视图

ViewGroup作为容器承装界面中的控件,viewgroup和view之间可以包含也可以并列,类比衣橱的隔间

属性

1. id属性:@+id/自定义id名

java中使用findViewById找到XML中的空间的id

2. 一个布局必须有高和宽属性

键入h和w即可自动补全height和width相关的字符串,

再键入m和w代表match-parent匹配父类大学)和wrap-content(匹配自身)

3. 背景:可以使用颜色或者图片

  • 引用图片:使用@drawable/图片名 
android:background="@drawable/summer"
  • 颜色:
android:background="@color/teal_200"

新建布局文件

在layout文件夹下新建界面布局文件 resource file,命名不能出现大写字母

新建的布局文件如图:三个按钮垂直排列

 若想修改为水平排列:

猜你喜欢

转载自blog.csdn.net/weixin_45662399/article/details/126538366