android开发入门案例

一、效果

在这里插入图片描述

二、代码

1、activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:background="#E6E4C0"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        style="@style/title_style"
        android:id="@+id/textView"
        android:text="@string/user_title" />

    <ImageView
        style="@style/global_style"
        app:srcCompat="@mipmap/ic_launcher_round" />
    <LinearLayout
        style="@style/global_style"
        android:orientation="horizontal">
        <TextView
            android:id="@+id/user_name"
            style="@style/user_text_style"
            android:text="@string/user_name" />
        <EditText
            android:id="@+id/et_user_name"
            style="@style/user_edit_style"
            android:ems="10"
            android:hint="@string/name"
            android:inputType="textPersonName"
            android:importantForAutofill="no" />
    </LinearLayout>

    <LinearLayout
        style="@style/global_style"
        android:orientation="horizontal">
        <TextView
            android:id="@+id/user_password"
            style="@style/user_text_style"
            android:text="@string/user_password" />
        <EditText
            android:id="@+id/et_user_password"
            style="@style/user_edit_style"
            android:autofillHints="@string/user_password"
            android:ems="10"
            android:hint="@string/ps"
            android:inputType="textPassword" />
    </LinearLayout>

    <LinearLayout
        style="@style/global_style"
        android:orientation="horizontal">
        <RadioGroup
            android:id="@+id/radioGroup"
            style="@style/global_style"
            android:orientation="horizontal">
            <TextView
                style="@style/gender_style"
                android:text="@string/gender" />
            <RadioButton
                android:id="@+id/radioButton_Male"
                style="@style/gender_radioButton_style"
                android:checked="true"
                android:text="@string/male"/>
            <RadioButton
                android:id="@+id/radioButton_Female"
                style="@style/gender_radioButton_style"
                android:text="@string/female" />
        </RadioGroup>
    </LinearLayout>

    <LinearLayout
        style="@style/global_style"
        android:orientation="horizontal">
        <TextView
            style="@style/love_style"
            android:text="@string/love" />
        <CheckBox
            style="@style/love_checkBox_style"
            android:id="@+id/basketball"
            android:text="@string/basketball" />
        <CheckBox
            style="@style/love_checkBox_style"
            android:id="@+id/football"
            android:text="@string/football" />
        <CheckBox
            style="@style/love_checkBox_style"
            android:id="@+id/volleyball"
            android:text="@string/volleyball" />
    </LinearLayout>

    <LinearLayout
        style="@style/global_style"
        android:orientation="horizontal">
        <Button
            android:id="@+id/btn_login"
            style="@style/user_button_style"
            android:onClick="btnLogin"
            android:text="@string/btn_login" />
        <Button
            android:id="@+id/btn_cancel"
            style="@style/user_button_style"
            android:onClick="btnRegister"
            android:text="@string/btn_register" />
    </LinearLayout>

</LinearLayout>

2、styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>    
     <style name="global_style">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">wrap_content</item>
         <item name="android:layout_marginTop">4dp</item>
         <item name="android:layout_marginBottom">4dp</item>
     </style>
     <style name="title_style">
         <item name="android:textSize">50sp</item>  
         <item name="android:textStyle">bold</item>    
         <item name="android:textColor">#FF5722</item>      
         <item name="android:gravity">center</item>      
         <item name="android:layout_height">wrap_content</item>  
         <item name="android:layout_width">match_parent</item>    
         <item name="android:layout_marginTop">10dp</item>
         <item name="android:layout_marginBottom">10dp</item>
     </style>
     <style name="user_text_style">        
        <item name="android:textSize">30sp</item>  
        <item name="android:textStyle">bold</item>    
        <item name="android:textColor">#03A9F4</item>      
        <item name="android:gravity">center</item>      
        <item name="android:layout_height">wrap_content</item>  
        <item name="android:layout_width">0dp</item>    
        <item name="android:layout_weight">1</item>    
    </style>  
     <style name="user_edit_style">    
        <item name="android:textSize">16sp</item>    
        <item name="android:gravity">center</item>    
        <item name="android:layout_height">wrap_content</item>        
        <item name="android:layout_width">0dp</item>      
        <item name="android:layout_weight">2</item>    
    </style>  
     <style name="user_button_style">      
        <item name="android:textSize">25sp</item>    
        <item name="android:gravity">center</item>  
        <item name="android:layout_height">wrap_content</item>  
        <item name="android:layout_width">0dp</item>    
        <item name="android:layout_weight">1</item>      
        <item name="android:textColor">#0309F4</item>
        <item name="android:textStyle">bold</item>
    </style>
    <style name="gender_radioButton_style">
        <item name="android:gravity">center</item>
        <item name="android:layout_weight">1</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_width">0dp</item>
        <item name="android:textSize">25sp</item>
        <item name="android:textColor">#2196F3</item>
    </style>
    <style name="love_checkBox_style">
        <item name="android:gravity">center</item>
        <item name="android:layout_weight">1</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_width">0dp</item>
        <item name="android:textSize">25sp</item>
        <item name="android:textColor">#2196F3</item>
    </style>
    <style name="gender_style">
        <item name="android:gravity">center</item>
        <item name="android:layout_weight">1</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_width">0dp</item>
        <item name="android:textSize">30sp</item>
        <item name="android:textColor">#2196F3</item>
        <item name="android:textStyle">bold</item>
    </style>
    <style name="love_style">
        <item name="android:layout_weight">1</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_width">0dp</item>
        <item name="android:textSize">30sp</item>
        <item name="android:textColor">#2196F3</item>
        <item name="android:textStyle">bold</item>
        <item name="android:layout_marginLeft">40dp</item>
    </style>
</resources>

3、strings.xml

<resources>
    <string name="app_name">MyApp</string>
    <string name="user_title">welcome</string>
    <string name="user_name">用户</string>
    <string name="user_password">密码</string>
    <string name="btn_login">登录</string>
    <string name="btn_register">注册</string>
    <string name="name">请输入用户名</string>
    <string name="ps">请输入密码</string>
    <string name="male"></string>
    <string name="female"></string>
    <string name="basketball">篮球</string>
    <string name="football">足球</string>
    <string name="volleyball">排球</string>
    <string name="gender">性别</string>
    <string name="love">兴趣</string>
</resources>

4、MainActivity.java

package com.jzd.myapp;

import androidx.appcompat.app.AppCompatActivity;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

import org.w3c.dom.Text;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {


    private static final String TAG = "MainActivity";

    private RadioGroup radioGroup;
    private String gender="男";
    private CheckBox basketball;
    private CheckBox football;
    private CheckBox volleyball;
    private List<String> interest = new ArrayList<>();
    private String userTxt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //RadioGroup监听事件,取到选择的Radio值
        radioGroup = findViewById(R.id.radioGroup);
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                if(checkedId==R.id.radioButton_Male){
                    gender="男";
                    Log.i(TAG, "你的性别: "+gender);
                }
                if(checkedId==R.id.radioButton_Female){
                    gender="女";
                    Log.i(TAG, "你的性别: "+gender);
                }
            }
        });

        //界面上checkbox实例化及选择变化事件
        basketball = findViewById(R.id.basketball);
        football = findViewById(R.id.football);
        volleyball = findViewById(R.id.volleyball);
        basketball.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked==true){
                    interest.add(buttonView.getText().toString());
                }else{
                    interest.remove(buttonView.getText().toString());
                }
            }
        });
        football.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked==true){
                    interest.add(buttonView.getText().toString());
                }else{
                    interest.remove(buttonView.getText().toString());
                }
            }
        });
        volleyball.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked==true){
                    interest.add(buttonView.getText().toString());
                }else{
                    interest.remove(buttonView.getText().toString());
                }
            }
        });


//        (登录按钮)方法三
//        Button btn = findViewById(R.id.btn_login);
//        btn.setOnClickListener(this);

//        (登录按钮)方法二
//        Button btn = findViewById(R.id.btn_login);
//        btn.setOnClickListener(new View.OnClickListener(){
//            @Override
//            public void onClick(View v) {
//                TextView etUsername = findViewById(R.id.et_user_name);
//                String userTxt = etUsername.getText().toString();
//                Toast.makeText(MainActivity.this, "您输入的用户名是"+userTxt, Toast.LENGTH_SHORT).show();
//                Log.i(TAG, "您输入的用户名是"+userTxt);
//            }
//        });
    }

//    (登录按钮)方法一
    public void btnLogin(View view) {
        EditText etUsername = findViewById(R.id.et_user_name);
        userTxt = etUsername.getText().toString();
        Toast.makeText(this, "您输入的用户名:"+ userTxt, Toast.LENGTH_SHORT).show();
        Log.i(TAG, "登录用户名:"+ userTxt);
        //单选对话框
        AlertDialog dialog;
        AlertDialog.Builder builder = new AlertDialog.Builder(this)
                .setTitle("登录对话框")
                .setIcon(R.mipmap.ic_launcher)
                .setMessage("是否确定登录")
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                })
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
        dialog=builder.create();
        dialog.show();
    }

    //    注册按钮监听事件
    public void btnRegister(View view) {
        String registerInfo = userTxt+",您好!你的性别是:"+gender+";爱好是:"+interest;
        Toast.makeText(MainActivity.this,registerInfo,Toast.LENGTH_LONG).show();
        Log.i(TAG, "注册信息:"+ registerInfo);
    }


//    (登录按钮)方法三  需要实现 implements View.OnClickListener
//    @Override
//    public void onClick(View v) {
//        TextView etUsername = findViewById(R.id.et_user_name);
//        String userTxt = etUsername.getText().toString();
//        Toast.makeText(this, "您输入的用户名是"+userTxt, Toast.LENGTH_SHORT).show();
//        Log.i(TAG, "您输入的用户名是"+userTxt);
//    }

}

四、博客地址

https://whitejiang.gitee.io/

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值