安卓中註冊登錄功能模塊的編寫

一、前言

很多的應用程序都有登錄功能模塊,這裏的登錄註冊功能只是簡單地模擬了登錄註冊的過程,並沒有真正的發送短信、接收短信的功能。如果想要實現這樣的功能,就需要藉助第三方平臺,比如Bomb。

二、界面截圖
  1. 登錄界面
    在該界面只要輸入了用戶名和密碼,再點擊登錄就能進入到主界面。用戶名和密碼是可以隨便輸入的,因爲只是一個模擬過程,如果需要真的登錄,就需要另外添加登錄的邏輯了。
    在這裏插入圖片描述
  2. 註冊界面
    該界面同樣也是一個模擬過程,如果童鞋們需要實現真的註冊,建議可以簡單的使用SQLite數據庫,也就是將用戶數據保存在安卓中的SQLite數據庫當中。我覺得這樣是足以應付課程的作業的,因爲大學裏的安卓開發課程,要求也沒那麼高,登錄註冊功能也就是用來湊界面的,當時我們的作業是要求至少8個界面的。
    在這裏插入圖片描述
  3. 主界面
    主界面其實什麼都沒有,就只有Hello World!因爲分享這個模塊出來就是給大家去改造的,在這裏你可以另外編寫代碼,實現自己想要的功能。
    在這裏插入圖片描述
三、代碼
1、java代碼
  1. 登錄LoginActivity.java
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

/**
 * 登錄界面
 */
public class LoginActivity extends AppCompatActivity implements View.OnClickListener
{
    private EditText editPerson, editCode;
    private TextView textViewR;
    private Button btn;
    private boolean autoLogin = false;
    public static String currentUsername;
    private String currentPassword;
    private boolean progressShow;
    private ImageView qq, weixin, weibo;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        init();
    }


    private void init()
    {
        btn =findViewById(R.id.bn_common_login);
        btn.setOnClickListener(this);
        editCode =findViewById(R.id.et_password);
        editPerson =findViewById(R.id.et_username);
        textViewR = findViewById(R.id.tv_register);
        qq =  findViewById(R.id.iv_qq_login);
        weixin =  findViewById(R.id.iv_weixin_login);
        weibo = findViewById(R.id.iv_sina_login);
        qq.setOnClickListener(this);
        weixin.setOnClickListener(this);
        weibo.setOnClickListener(this);
        textViewR.setOnClickListener(this);
    }

    /**
     * 點擊事件
     * */
    @Override
    public void onClick(View v)
    {
        switch (v.getId())
        {
            case R.id.bn_common_login:  //登錄按鈕
                login(v);
                break;
            case R.id.tv_register:  //註冊按鈕
                Intent intent = new Intent(this, RegisterActivity.class);
                startActivity(intent);
                finish();
                break;
            case R.id.iv_qq_login:  //QQ登錄
                Toast.makeText(this, "QQ登錄", Toast.LENGTH_SHORT).show();
                break;
            case R.id.iv_weixin_login:  //微信登錄
                Toast.makeText(this, "微信登錄", Toast.LENGTH_SHORT).show();
                break;
            case R.id.iv_sina_login:    //微博登錄
                Toast.makeText(this, "微博登錄", Toast.LENGTH_SHORT).show();
                break;
                default:

        }
    }

    @Override
    protected void onResume()
    {
        super.onResume();
        if (autoLogin)
        {
            return;
        }
    }

    /**
     * 登錄
     *
     * @param view
     */
    public void login(View view)
    {

        currentUsername = editPerson.getText().toString().trim(); //去除空格,獲取手機號
        currentPassword = editCode.getText().toString().trim();  //去除空格,獲取密碼

        if (TextUtils.isEmpty(currentUsername))
        { //判斷手機號是不是爲空
            Toast.makeText(this, "手機號不能爲空!", Toast.LENGTH_SHORT).show();
            return;
        }
        if (TextUtils.isEmpty(currentPassword))
        {  //判斷密碼是不是空
            Toast.makeText(this, "密碼不能爲空!", Toast.LENGTH_SHORT).show();
            return;
        }

        progressShow = true;
        final ProgressDialog pd = new ProgressDialog(LoginActivity.this);  //初始化等待動畫
        /**
         * 設置監聽
         * */
        pd.setCanceledOnTouchOutside(false);
        pd.setOnCancelListener(new DialogInterface.OnCancelListener()
        {

            @Override
            public void onCancel(DialogInterface dialog)
            {
                progressShow = false;   //設置Boolean值爲false
            }
        });
        pd.setMessage("正在登錄....");  //等待動畫的標題
        pd.show();  //顯示等待動畫

        new Thread(new Runnable()
        {
            public void run()
            {
                //在此處睡眠兩秒
                try
                {
                    Thread.sleep(2000);  //在此處睡眠兩秒
                } catch (InterruptedException e)
                {
                }

                /**
                 * 兩秒之後
                 * */
                pd.dismiss();    //等待條消失
                Intent intent = new Intent(LoginActivity.this, MainActivity.class);  //進入主界面
                startActivity(intent);  //開始跳轉
                finish();  //finish掉此界面
            }
        }).start();  //開始線程

    }
}

  1. 註冊RegisterActivity.java
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Looper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

/**
 * 註冊界面
 */
public class RegisterActivity extends AppCompatActivity implements View.OnClickListener
{
    private EditText editTextP, editSMS, editTextCT;
    private Button button,SMSBtn;
    private TextView enterText;
    private ImageView returnImage;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        init();
    }

    private void init()
    {
        editTextP = findViewById(R.id.et_phone_num);
        editSMS = findViewById(R.id.et_sms_code);
        editTextCT =  findViewById(R.id.et_password);
        button = findViewById(R.id.bn_immediateRegistration);
        button.setOnClickListener(this);
        enterText =  findViewById(R.id.tv_enter);
        enterText.setOnClickListener(this);
        returnImage =  findViewById(R.id.iv_return);
        returnImage.setOnClickListener(this);
        SMSBtn =  findViewById(R.id.bn_sms_code);
        SMSBtn.setOnClickListener(this);
    }

    @Override
    public void onClick(View v)
    {
        switch (v.getId())
        {
            case R.id.bn_immediateRegistration:
                register();
                break;
            case R.id.tv_enter:
                returnEnter();
                break;
            case R.id.iv_return:
                returnEnter();
                break;
            case R.id.bn_sms_code:
                final String username = editTextP.getText().toString().trim();
                if (TextUtils.isEmpty(username))
                {
                    Toast.makeText(this, "用戶名不能爲空!", Toast.LENGTH_SHORT).show();
                    editTextP.requestFocus();
                }else
                {
                    Toast.makeText(this, "驗證碼獲取成功", Toast.LENGTH_SHORT).show();
                }
                break;
        }
    }

    private void returnEnter()
    {
        Intent intent = new Intent(this,LoginActivity.class);
        startActivity(intent);
        finish();
    }

    public void register()
    {
        final String username = editTextP.getText().toString().trim();
        final String password = editSMS.getText().toString().trim();
        String confirm_password = editTextCT.getText().toString().trim();
        if (TextUtils.isEmpty(username))
        {  //當手機號沒有輸入時
            Toast.makeText(this, "手機號不能爲空!", Toast.LENGTH_SHORT).show();
            editTextP.requestFocus();//使輸入框失去焦點
            return;
        } else if (TextUtils.isEmpty(password))
        {//當驗證碼沒有輸入時
            Toast.makeText(this, "驗證碼不能爲空!", Toast.LENGTH_SHORT).show();
            editSMS.requestFocus();//使輸入框失去焦點
            return;
        } else if (TextUtils.isEmpty(confirm_password))
        {//當註冊密碼沒有輸入時
            Toast.makeText(this, "密碼不能爲空!", Toast.LENGTH_SHORT).show();
            editTextCT.requestFocus();//使輸入框失去焦點
            return;
        }
        if (!TextUtils.isEmpty(username) && !TextUtils.isEmpty(password))
        {
            final ProgressDialog pd = new ProgressDialog(this);
            pd.setMessage("正在註冊……");
            pd.show();

            new Thread(new Runnable()
            {
                public void run()
                {
                    //註冊的操作放在此處
                    try
                    {
                        Thread.sleep(2000);
                    } catch (InterruptedException e)
                    {

                    }
                    pd.dismiss();
                    Looper.prepare();
                    Toast.makeText(RegisterActivity.this, "註冊成功", Toast.LENGTH_SHORT).show();
                    Looper.loop();// 進入loop中的循環,查看消息隊列
                }
            }).start();

        }
    }
}

  1. 主界面MainActivity.java
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity 
{

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

2、界面代碼
  1. 登錄的界面activity_login.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#f2f2f2"
    android:orientation="vertical" >

    <LinearLayout style="@style/top_nav" >

        <ImageView
            android:id="@+id/iv_return"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="8dp"
            android:src="@drawable/ico_commen_back" />

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:text="登錄"
            android:textSize="16sp" />

        <TextView
            android:id="@+id/tv_register"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="8dp"
            android:text="註冊"
            android:textColor="#404040"
            android:textSize="14sp" />
    </LinearLayout>
    <View style="@style/common_line_gray_90"/>
    <LinearLayout
        android:layout_width="72dp"
        android:layout_height="72dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="20dp"
        android:layout_marginTop="30dp"
        android:background="@drawable/bg_radius_sign" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ico_sign_logo" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:background="#ffffff"
        android:orientation="vertical" >

        <View
            android:layout_width="fill_parent"
            android:layout_height="1px"
            android:background="#07a6e6" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="8dp"
                android:src="@drawable/ico_sign_01" />

            <EditText
                android:id="@+id/et_username"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:background="@null"
                android:gravity="center_vertical"
                android:hint="用戶名/手機號"
                android:textColor="@android:color/darker_gray"
                android:textColorHint="@android:color/darker_gray"
                android:textSize="14sp" />
        </LinearLayout>

        <View
            android:layout_width="fill_parent"
            android:layout_height="1px"
            android:layout_marginLeft="28dp"
            android:layout_marginRight="28dp"
            android:background="#d9d9d9" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="8dp"
                android:src="@drawable/ico_sign_02" />

            <EditText
                android:id="@+id/et_password"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:background="@null"
                android:gravity="center_vertical"
                android:hint="密碼"
                android:inputType="textPassword"
                android:textColor="@android:color/darker_gray"
                android:textColorHint="@android:color/darker_gray"
                android:textSize="14sp" />

        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="登錄或註冊則表示您同意"
            android:textColor="@android:color/darker_gray"
            android:textSize="13sp" />

        <TextView
            android:id="@+id/tv_termOfService"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingBottom="14dp"
            android:paddingTop="18dp"
            android:text="《使用條款》"
            android:textColor="#63d065"
            android:textSize="13sp" />
    </LinearLayout>

    <Button
        android:id="@+id/bn_common_login"
        android:layout_width="match_parent"
        android:layout_height="44dp"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:background="@drawable/bg_radius_sign_btn"
        android:text="登  錄"
        android:textColor="#ffffff"
        android:textSize="15sp" />

    <Button
        android:id="@+id/bn_forget_password"
        android:layout_width="wrap_content"
        android:layout_height="44dp"
        android:paddingLeft="12dp"
        android:layout_gravity="right"
        android:layout_marginRight="42dp"
        android:background="@null"
        android:text="忘記密碼?"
        android:textColor="#4ebeea"
        android:textSize="13sp" />

    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="horizontal"
        android:paddingLeft="54dp"
        android:paddingRight="54dp" >

        <View
            android:layout_width="0dp"
            android:layout_height="1px"
            android:layout_weight="1"
            android:background="#bfbfbf" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="28dp"
            android:layout_marginRight="28dp"
            android:text="更多登錄"
            android:textColor="#999999"
            android:textSize="12sp" />

        <View
            android:layout_width="0dp"
            android:layout_height="1px"
            android:layout_weight="1"
            android:background="#bfbfbf" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="12dp"
        android:layout_marginTop="12dp"
        android:gravity="center"
        android:orientation="horizontal"
        android:paddingLeft="18dp"
        android:paddingRight="18dp" >

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/iv_qq_login"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_marginBottom="3dp"
                android:src="@drawable/ico_sign_04" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="QQ登錄"
                android:textColor="#999999"
                android:textSize="13sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/iv_weixin_login"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_marginBottom="3dp"
                android:src="@drawable/ico_sign_05" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="微信登錄"
                android:textColor="#999999"
                android:textSize="13sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/iv_sina_login"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_marginBottom="3dp"
                android:src="@drawable/ico_sign_06" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="微博登錄"
                android:textColor="#999999"
                android:textSize="13sp" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>
  1. 註冊的界面activity_register.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#f2f2f2"
    android:orientation="vertical" >

    <LinearLayout style="@style/top_nav">

        <ImageView
            android:id="@+id/iv_return"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="8dp"
            android:src="@drawable/ico_commen_back" />

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:text="註冊"
            android:textSize="16sp" />

        <TextView
            android:id="@+id/tv_enter"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:padding="8dp"
            android:text="登錄"
            android:textColor="#404040"
            android:textSize="14sp" />
    </LinearLayout>

    <View style="@style/common_line_gray_90"/>

    <!-- 註冊 -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="24dp"
        android:layout_marginRight="24dp"
        android:layout_marginTop="24dp"
        android:background="#ffffff"
        android:orientation="vertical" >

        <View
            android:layout_width="fill_parent"
            android:layout_height="1px"
            android:background="#07a6e6" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="44dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="8dp"
                android:src="@drawable/ico_sign_01" />

            <EditText
                android:id="@+id/et_phone_num"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:background="@null"
                android:gravity="center_vertical"
                android:hint="請填寫手機號"
                android:inputType="number"
                android:textColor="@android:color/darker_gray"
                android:textColorHint="@android:color/darker_gray"
                android:textSize="14sp" />

            <Button
                android:id="@+id/bn_sms_code"
                android:layout_width="88dp"
                android:layout_height="28dp"
                android:layout_marginRight="6dp"
                android:background="@drawable/bg_radius_register_btn"
                android:text="獲取驗證碼"
                android:textColor="#9507a6e6"
                android:textSize="12sp" />
        </LinearLayout>

        <View
            android:layout_width="fill_parent"
            android:layout_height="1px"
            android:layout_marginLeft="28dp"
            android:layout_marginRight="28dp"
            android:background="#d9d9d9" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="44dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="8dp"
                android:src="@drawable/ico_sign_03" />

            <EditText
                android:id="@+id/et_sms_code"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:background="@null"
                android:gravity="center_vertical"
                android:hint="短信驗證碼"
                android:inputType="number"
                android:textColor="@android:color/darker_gray"
                android:textColorHint="@android:color/darker_gray"
                android:textSize="14sp" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="6dp"
                android:background="@null"
                android:text="收不到?"
                android:visibility="gone"
                android:textColor="#4c4c4c"
                android:textSize="12sp" />
        </LinearLayout>

        <View
            android:layout_width="fill_parent"
            android:layout_height="1px"
            android:layout_marginLeft="28dp"
            android:layout_marginRight="28dp"
            android:background="#d9d9d9" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="44dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="8dp"
                android:src="@drawable/ico_sign_02" />

            <EditText
                android:id="@+id/et_password"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:background="@null"
                android:gravity="center_vertical"
                android:hint="設置登錄密碼"
                android:inputType="textPassword"
                android:textColor="@android:color/darker_gray"
                android:textColorHint="@android:color/darker_gray"
                android:textSize="14sp" />

        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="登錄或註冊則表示您同意"
            android:textColor="@android:color/darker_gray"
            android:textSize="13sp"
            android:id="@+id/textView" />

        <TextView
            android:id="@+id/tv_termOfService"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingBottom="14dp"
            android:paddingTop="18dp"
            android:text="《使用條款》"
            android:textColor="#63d065"
            android:textSize="13sp" />
    </LinearLayout>

    <Button
        android:id="@+id/bn_immediateRegistration"
        android:layout_width="match_parent"
        android:layout_height="44dp"
        android:layout_marginLeft="24dp"
        android:layout_marginRight="24dp"
        android:background="@drawable/bg_radius_sign_btn"
        android:text="立即註冊"
        android:textColor="#ffffff"
        android:textSize="15sp" />

    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:id="@+id/view" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="horizontal"
        android:paddingLeft="54dp"
        android:paddingRight="54dp"
        android:visibility="gone" >

        <View
            android:layout_width="0dp"
            android:layout_height="1px"
            android:layout_weight="1"
            android:background="#bfbfbf" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="28dp"
            android:layout_marginRight="28dp"
            android:text="更多登錄"
            android:textColor="#999999"
            android:textSize="12sp" />

        <View
            android:layout_width="0dp"
            android:layout_height="1px"
            android:layout_weight="1"
            android:background="#bfbfbf" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="12dp"
        android:layout_marginTop="12dp"
        android:gravity="center"
        android:orientation="horizontal"
        android:paddingLeft="18dp"
        android:paddingRight="18dp"
        android:visibility="gone" >

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="3dp"
                android:src="@drawable/ico_sign_04" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="QQ登錄"
                android:textColor="#999999"
                android:textSize="13sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="3dp"
                android:src="@drawable/ico_sign_05" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="微信登錄"
                android:textColor="#999999"
                android:textSize="13sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="3dp"
                android:src="@drawable/ico_sign_06" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="微博登錄"
                android:textColor="#999999"
                android:textSize="13sp" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>
  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:gravity="center"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</LinearLayout>
四、項目地址

因爲項目還需要用到一些圖片資源,上面給出的只是活動的java代碼和對應的佈局代碼,如果需要用到圖片資源的話,可以去github把項目克隆或者是下載下來。
項目的github地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章