小工具知识网

当前位置: 首页 > 行业知识 > Android 应用程序开发实验(二)熟悉安卓常见的UI组件

行业知识

Android 应用程序开发实验(二)熟悉安卓常见的UI组件

2026-11-02 23:11:14 来源:互联网转载

(1)基本常用组件

        ①布局预览:
        ②代码设计:

2.1   MainActivity.java完整代码

package com.example.myapplication;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.RadioButton;import androidx.activity.EdgeToEdge;import androidx.appcompat.app.AppCompatActivity;import androidx.core.graphics.Insets;import androidx.core.view.ViewCompat;import androidx.core.view.WindowInsetsCompat;public class MainActivity extends AppCompatActivity {    RadioButton radioButton,radioButton2;    Button button;    EditText editTextText;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        EdgeToEdge.enable(this);        setContentView(R.layout.activity_main);        radioButton = findViewById(R.id.radioButton);        radioButton2 = findViewById(R.id.radioButton2);        button = findViewById(R.id.button);        editTextText = findViewById(R.id.editTextText);        //点击计算按钮跳转页面MainActivity2        Button button = findViewById(R.id.button);        button.setOnClickListener(v -> calculateWeight());        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);            return insets;        });    }    private void calculateWeight() {        String radioButtonValue = radioButton.getText().toString();        int height = Integer.parseInt(editTextText.getText().toString());        double weight;        if (radioButton.isChecked()) {            weight = (height - 80) * 0.7;        } else {            weight = (height - 80) * 0.6;            radioButtonValue = "女";        }        Intent intent = new Intent(MainActivity.this, MainActivity2.class);        //传递身高、体重数据到MainActivity2.class        intent.putExtra("radioButtonValue",radioButtonValue);        intent.putExtra("height", height);        intent.putExtra("weight", weight);        startActivity(intent);    }}

2.2   activity_main.xml完整代码

                                

2.3   MainActivity2.java完整代码

package com.example.myapplication;import android.annotation.SuppressLint;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import androidx.activity.EdgeToEdge;import androidx.appcompat.app.AppCompatActivity;import androidx.core.graphics.Insets;import androidx.core.view.ViewCompat;import androidx.core.view.WindowInsetsCompat;public class MainActivity2 extends AppCompatActivity {    TextView textView1;    TextView textView2;    TextView textView3;    @SuppressLint("SetTextI18n")    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        EdgeToEdge.enable(this);        setContentView(R.layout.activity_main2);        textView1 = findViewById(R.id.textView1);        textView2 = findViewById(R.id.textView2);        textView3 = findViewById(R.id.textView3);        Intent intent = getIntent();        String radioButtonValue = intent.getStringExtra("radioButtonValue");        double weight = intent.getDoubleExtra("weight", 0.0);        int height = intent.getIntExtra("height",0);        textView1.setText("你是一位 : " + radioButtonValue + " 性");        textView2.setText("你的身高是 : " + height + " cm");        textView3.setText("你的标准体重是 : " + weight + " kg");        //点击按钮跳转到ListView的使用页面        Button button = findViewById(R.id.jump);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent1 = new Intent(MainActivity2.this, MainActivity3.class);                startActivity(intent1);            }        });        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);            return insets;        });    }}

2.4   activity_main2.xml完整代码

                

(2)ListView的使用

        ①布局预览:
        ②代码设计:

2.1   MainActivity3.java完整代码

package com.example.myapplication;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import androidx.activity.EdgeToEdge;import androidx.appcompat.app.AppCompatActivity;import androidx.core.graphics.Insets;import androidx.core.view.ViewCompat;import androidx.core.view.WindowInsetsCompat;import java.util.ArrayList;import java.util.List;public class MainActivity3 extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        EdgeToEdge.enable(this);        setContentView(R.layout.activity_main3);        //点击按钮跳转到ListView的使用页面        Button button = findViewById(R.id.jump2);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent1 = new Intent(MainActivity3.this, MainActivity4.class);                startActivity(intent1);            }        });        final TextView textView = (TextView)findViewById(R.id.textView6);        //ListView子项的信息        ListView listView = (ListView)findViewById(R.id.Listview01);        Listlist = new ArrayList();        list.add("安卓应用开发基础-01");        list.add("安卓应用开发基础-02");        list.add("安卓应用开发基础-03");        list.add("安卓应用开发基础-04");        list.add("安卓应用开发基础-05");        list.add("安卓应用开发基础-06");        list.add("安卓应用开发基础-07");        ArrayAdapteradapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,list);        listView.setAdapter(adapter);        //ListView子项的点击监听器        AdapterView.OnItemClickListener listViewListener = new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {                // String msg = "父 View: " + arg0.toString() + "\n"+"子 View: " +arg1.toString()+"\n"+"位置: "+String.valueOf(arg2)+",ID:"+String.valueOf(arg3);                // 获取点击的子项对应的内容                String msg = "您现在点击的是:"+ (String) arg0.getItemAtPosition(arg2);                //Toast弹窗结果                showToast("您点击了"+ (String) arg0.getItemAtPosition(arg2));                //文本显示结果                //textView.setText(msg);            }        };        listView.setOnItemClickListener(listViewListener);        //ListView子项长按监听器        AdapterView.OnItemLongClickListener listViewLongClickListener = new AdapterView.OnItemLongClickListener(){            @Override            public boolean onItemLongClick(AdapterView arg0, View arg1, int arg2, long arg3) {                // 获取长按的子项对应的内容                String msg = "您长按了:"+ (String) arg0.getItemAtPosition(arg2);                // 弹出另一个气泡提示框                showToast("您长按了"+ (String) arg0.getItemAtPosition(arg2));                return true;            }        };        listView.setOnItemLongClickListener(listViewLongClickListener);                ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);            return insets;        });    }    private void showToast(String message) {        Toast.makeText(this, message, Toast.LENGTH_SHORT).show();    }}

2.2   activity_main3.xml完整代码

                    

(3)XML定义菜单

        ①布局预览:
        ②代码设计:

2.1   MainActivity4.java完整代码

package com.example.myapplication;import android.graphics.Color;import android.os.Bundle;import android.view.Gravity;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.widget.TextView;import android.widget.Toast;import androidx.activity.EdgeToEdge;import androidx.appcompat.app.AppCompatActivity;import androidx.core.graphics.Insets;import androidx.core.view.ViewCompat;import androidx.core.view.WindowInsetsCompat;public class MainActivity4 extends AppCompatActivity {    Toast toast;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        EdgeToEdge.enable(this);        setContentView(R.layout.activity_main4);        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);            return insets;        });    }    @Override    public boolean onCreateOptionsMenu(Menu menu){        MenuInflater inflater = getMenuInflater();        inflater.inflate(R.menu.menu_main,menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item){        TextView label = (TextView) findViewById(R.id.label);        int itemId = item.getItemId();        if (itemId == R.id.main_menu_01) {            label.setTextSize(10);            return true;        } else if (itemId == R.id.main_menu_02) {            label.setTextSize(16);            return true;        } else if (itemId == R.id.main_menu_03) {            label.setTextSize(20);            return true;        } else if (itemId == R.id.main_menu_12) {            label.setTextColor(Color.RED);            return true;        } else if (itemId == R.id.main_menu_11) {            label.setTextColor(Color.BLACK);            return true;        } else if (itemId == R.id.main_menu_2) {            showToast("您点击了基本菜单项");            return true;        }        else {            return false;        }    }    private void showToast(String message) {        Toast.makeText(this, message, Toast.LENGTH_SHORT).show();    }}

2.2   activity_main4.xml完整代码

    

2.3   menu_main.xml完整代码

                                                                                                                        

(4)实验说明

           MainActivity2.java与MainActivity3.java中分别设置了跳转页面的代码,方便个人学习调试,不需要可选择删除跳转按钮以及相关代码。后续相关学习实验内容也会进行更新发布,感谢大家的喜欢与支持!作者学习Android 应用程序开发的过程中,如有不足之处,期待您的指正哦!

(5)寄语           

           学习之路漫漫长,薪资之望快快涨。

上一篇:宝塔面板登录服务器教程,轻松上手,步步为赢!

下一篇:服务器节点怎么搭建?