仿拉手團購App5--登錄界面

来源:http://www.cnblogs.com/ganchuanpu/archive/2017/05/16/6864214.html
-Advertisement-
Play Games

activity_login.xml 快速登錄(獲得驗證碼和登錄) 賬號登錄(登錄和切換密碼明文) ...


    

 

 

 

 

 

activity_login.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.myxh.coolshopping.ui.activity.LoginActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/common_titleBar_height"
        android:background="@color/title_bar_color">
        <ImageView
            android:id="@+id/login_titleBar_iv_back"
            style="@style/common_left_back_imageView_style"/>
        <TextView
            style="@style/base_textView_style"
            android:layout_centerInParent="true"
            android:gravity="center_vertical"
            android:text="@string/login_titleBar_login"
            android:textSize="@dimen/login_titleBar_login_size"
            android:textColor="@color/textColor_32"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/login_titleBar_tv_register"
            style="@style/common_right_title_textView_style"
            android:gravity="center"
            android:text="@string/login_titleBar_register"
            android:textColor="@color/orange"
            android:textSize="@dimen/login_titleBar_register_size"/>
    </RelativeLayout>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@color/bg_common_gray"
        android:scrollbars="none">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/white_border_area">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">
                    <TextView
                        android:id="@+id/login_select_tv_quickLogin"
                        style="@style/login_select_textView_style"
                        android:text="@string/login_select_quick_login"
                        android:textColor="@color/app_yellow"/>
                    <View
                        style="@style/me_vertical_view_style"/>
                    <TextView
                        android:id="@+id/login_select_tv_accountLogin"
                        style="@style/login_select_textView_style"
                        android:text="@string/login_select_account_login"/>
                </LinearLayout>
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:orientation="horizontal">
                    <View
                        android:id="@+id/login_select_left_line"
                        android:layout_width="0dp"
                        android:layout_height="@dimen/login_select_line_height"
                        android:layout_weight="1"
                        android:background="@color/orange"/>
                    <View
                        android:id="@+id/login_select_right_line"
                        android:layout_width="0dp"
                        android:layout_height="@dimen/login_select_line_height"
                        android:layout_weight="1"
                        android:background="@color/orange"
                        android:visibility="invisible"/>
                </LinearLayout>
            </RelativeLayout>

            <LinearLayout
                android:id="@+id/login_quick_login_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/login_layout_marginTop"
                android:orientation="vertical">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:background="@color/app_white">
                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">
                        <EditText
                            android:id="@+id/login_quick_login_et_phoneNumber"
                            style="@style/login_editText_style"
                            android:inputType="number"
                            android:maxLength="11"
                            android:hint="@string/login_input_phoneNumber_hint"/>
                        <ImageView
                            android:id="@+id/login_quick_login_iv_clear_phoneNumber"
                            android:visibility="gone"
                            style="@style/common_clear_input_imageView_style"/>
                    </RelativeLayout>
                    <View
                        style="@style/me_horizontal_view_style"/>
                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">
                        <EditText
                            android:id="@+id/login_quick_login_et_code"
                            style="@style/login_editText_style"
                            android:inputType="number"
                            android:maxLength="6"
                            android:hint="@string/login_input_check_code_hint"/>
                        <Button
                            android:id="@+id/login_quick_login_btn_getCode"
                            style="@style/login_btn_getCode_style"/>
                        <ImageView
                            android:id="@+id/login_quick_login_iv_clear_code"
                            android:layout_toLeftOf="@+id/login_quick_login_btn_getCode"
                            android:layout_alignParentRight="false"
                            android:visibility="gone"
                            style="@style/common_clear_input_imageView_style"/>
                    </RelativeLayout>
                    <RelativeLayout
                        android:id="@+id/ll_check_picture"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:visibility="gone" >

                        <View
                            android:layout_width="fill_parent"
                            android:layout_height="1.0dip"
                            android:layout_marginLeft="14.0dip"
                            android:background="#ffdadada" />

                        <EditText
                            android:id="@+id/et_check_picture"
                            android:layout_width="120.0dip"
                            android:layout_height="wrap_content"
                            android:layout_centerVertical="true"
                            android:background="@null"
                            android:hint="驗證圖片"
                            android:padding="16.0dip"
                            android:scrollHorizontally="true"
                            android:singleLine="true"
                            android:textColorHint="@color/gray01"
                            android:textSize="@dimen/size_24" />

                        <ImageView
                            android:id="@+id/iv_check_picture"
                            android:layout_width="50.0dip"
                            android:layout_height="30.0dip"
                            android:layout_centerVertical="true"
                            android:layout_toRightOf="@id/et_check_picture"
                            android:scaleType="fitXY" />
                    </RelativeLayout>
                </LinearLayout>
                <Button
                    android:id="@+id/login_quick_login_btn"
                    style="@style/login_btn_style"/>
            </LinearLayout>

            <LinearLayout
                android:id="@+id/login_account_login_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/login_layout_marginTop"
                android:orientation="vertical"
                android:visibility="gone">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:background="@color/app_white">
                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">
                        <EditText
                            android:id="@+id/login_account_login_et_username"
                            style="@style/login_editText_style"
                            android:hint="@string/login_input_username_hint"/>
                        <ImageView
                            android:id="@+id/login_account_login_iv_clear_username"
                            android:visibility="gone"
                            style="@style/common_clear_input_imageView_style"/>
                    </RelativeLayout>
                    <View
                        style="@style/me_horizontal_view_style"/>
                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content">
                        <EditText
                            android:id="@+id/login_account_login_et_password"
                            style="@style/login_editText_style"
                            android:inputType="textPassword"
                            android:hint="@string/login_input_password_hint"/>
                        <CheckBox
                            android:id="@+id/login_account_login_checkBox"
                            style="@style/login_checkBox_style"/>
                        <ImageView
                            android:id="@+id/login_account_login_iv_clear_password"
                            android:layout_toLeftOf="@+id/login_account_login_checkBox"
                            android:layout_alignParentRight="false"
                            android:visibility="gone"
                            style="@style/common_clear_input_imageView_style"/>
                    </RelativeLayout>
                    <RelativeLayout
                        android:id="@+id/ll_check_code"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:visibility="gone" >

                        <View
                            android:layout_width="fill_parent"
                            android:layout_height="1.0dip"
                            android:layout_marginLeft="14.0dip"
                            android:background="#ffdadada" />

                        <EditText
                            android:id="@+id/et_check_code"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_alignParentLeft="true"
                            android:layout_centerVertical="true"
                            android:background="@null"
                            android:hint="@string/login_input_check_code_hint"
                            android:maxWidth="150.0dip"
                            android:padding="16.0dip"
                            android:scrollHorizontally="true"
                            android:singleLine="true"
                            android:textColorHint="@color/gray01"
                            android:textSize="@dimen/size_24" />

                        <ImageView
                            android:id="@+id/iv_check_code"
                            android:layout_width="58.0dip"
                            android:layout_height="30.0dip"
                            android:layout_centerVertical="true"
                            android:layout_gravity="center_vertical"
                            android:layout_marginLeft="5.0dip"
                            android:layout_marginTop="1.0dip"
                            android:layout_toRightOf="@id/et_check_code"
                            android:scaleType="fitXY" />
                    </RelativeLayout>
                </LinearLayout>
                <Button
                    android:id="@+id/login_account_login_btn"
                    style="@style/login_btn_style"/>
                <TextView
                    android:id="@+id/login_account_login_tv_forget_password"
                    style="@style/base_textView_style"
                    android:layout_gravity="right"
                    android:layout_marginTop="@dimen/login_account_login_forget_password_marginTop"
                    android:layout_marginRight="@dimen/login_account_login_forget_password_marginRight"
                    android:drawableRight="@mipmap/yellow_arrow"
                    android:drawablePadding="5dp"
                    android:text="@string/login_account_forget_password"
                    android:textColor="@color/orange"
                    android:textSize="@dimen/login_content_size"/>
            </LinearLayout>

        </LinearLayout>

    </ScrollView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:background="@drawable/white_border_area"
        android:orientation="vertical">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="@string/login_bottom_use_third_account"
            android:textSize="@dimen/textSize_16"/>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/login_bottom_icon_layout_marginTop"
            android:gravity="center"
            android:orientation="horizontal">
            <ImageView
                android:id="@+id/login_bottom_iv_qq"
                style="@style/base_imageView_style"
                android:src="@mipmap/ico_qq_accout"/>
            <ImageView
                android:id="@+id/login_bottom_iv_wechat"
                style="@style/base_imageView_style"
                android:layout_marginLeft="@dimen/login_bottom_icon_marginLeft"
                android:src="@mipmap/ico_qq_wixin"/>
            <ImageView
                android:id="@+id/login_bottom_iv_weibo"
                style="@style/base_imageView_style"
                android:layout_marginLeft="@dimen/login_bottom_icon_marginLeft"
                android:src="@mipmap/ico_sina_weibo"/>
            <ImageView
                android:id="@+id/login_bottom_iv_alipay"
                style="@style/base_imageView_style"
                android:layout_marginLeft="@dimen/login_bottom_icon_marginLeft"
                android:src="@mipmap/ico_alipay"
                android:visibility="gone"/>
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

快速登錄(獲得驗證碼和登錄)

case R.id.login_quick_login_btn_getCode:
    mPhoneNumber = mQuickLoginEtPhoneNumber.getText().toString();
    if (LoginHelperUtil.isPhoneNumber(mPhoneNumber)) {
        BmobManager.getInstance(new BmobMsgSendCallback() {
            @Override
            public void onMsgSendSuccess() {
                ToastUtil.show(LoginActivity.this,R.string.sms_code_send_success);
                //驗證碼發送成功,倒計時
                setCodeTimeDown();
            }

            @Override
            public void onMsgSendFailure() {
                ToastUtil.show(LoginActivity.this,R.string.sms_code_send_failure);
            }
        }).sendMsgCode(mPhoneNumber);
    } else {
        ToastUtil.show(this,R.string.phone_number_incorrect);
    }
    break;
case R.id.login_quick_login_btn:
    mPhoneNumber = mQuickLoginEtPhoneNumber.getText().toString();
    String code = mQuickLoginEtCode.getText().toString();
    if (LoginHelperUtil.isCodeCorrect(code) && LoginHelperUtil.isPhoneNumber(mPhoneNumber)) {
        BmobManager.getInstance(new BmobLoginCallback() {
            @Override
            public void onLoginSuccess() {
                Log.i(TAG, "onLoginSuccess: 登陸成功");
                ToastUtil.show(LoginActivity.this,R.string.login_success);
            }

            @Override
            public void onLoginFailure() {
                Log.i(TAG, "onLoginFailure: 登陸失敗");
                ToastUtil.show(LoginActivity.this,R.string.login_failed);
            }
        }).signOrLoginByMsgCode(mPhoneNumber,code);
    } else {
        ToastUtil.showLong(this,R.string.quick_login_input_incorrect);
    }
    break;

 

賬號登錄(登錄和切換密碼明文)

AccountLoginCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
                //切換明密文
                if (checked) {
                    mAccountLoginEtPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                } else {
                    mAccountLoginEtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
                }
                //游標在末尾顯示
                mAccountLoginEtPassword.setSelection(mAccountLoginEtPassword.length());
            }
        });

  

 

case R.id.login_account_login_btn:
    String username = mAccountLoginEtUsername.getText().toString();
    String password = mAccountLoginEtPassword.getText().toString();
    if (!TextUtils.isEmpty(username) && !TextUtils.isEmpty(password)) {
        BmobManager.getInstance(new BmobLoginCallback() {
            @Override
            public void onLoginSuccess() {
                ToastUtil.show(LoginActivity.this,R.string.login_success);
                Intent data = new Intent();
                setResult(LOGIN_RESULT_CODE,data);
                finish();
            }
            @Override
            public void onLoginFailure() {
                ToastUtil.show(LoginActivity.this,R.string.login_failed);
            }
        }).login(username,password);
    } else {
        ToastUtil.show(this,R.string.login_input_empty);
    }
    break;

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Dom是Document Object Model的縮寫,意思是文檔對象模型。DOM是一種與瀏覽器、平臺、語言無關的介面,使用該介面可以輕鬆訪問頁面中所有的標準組件。DOM操作可以分為三個方面即DOM Core(核心)、HTM-DOM和CSS-DOM。 每一個網頁都可以用DOM表示出來,每個DOM都 ...
  • jQuery 篩選 1)過濾 2)查找 3)串聯 eq(index| index) 獲取匹配的第二個元素 HTML 代碼: This is just a test. So is this jQuery 代碼: $("p").eq(1).css("color","red") 結果: [ So is t ...
  • 這幾天在接谷歌的支付,在拉谷歌商品列表的時候轉菊花,長時間不返回(querySkuDetails),一開始以為因為IAP有key不對導致的,查了下發現沒有問題。 再看logcat,發現了這行: 確實IAP商品有23個,解決方案有兩個: 1. https://code.google.com/archi ...
  • 前言 雖然實習工作還沒有著落,但學習還是要繼續的嘛,今天就來學習使用下 Mac 下截取網路封包的工具:Charles。 我想,如果你是個善於利用搜索引擎的人,那麼在 Google 中輸入「Charles 使用」等相應的關鍵字,便會出現一大把文章。不過呢,之所以會有這篇文章,就是因為今天在安裝和初步使 ...
  • 代碼: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NSLog(@"--系統的所有字體--%@",[self getAllSystemFonts]); NS ...
  • UserProfileActivity 退出登錄 ...
  • 獲得驗證碼 註冊 ...
  • ShareSDK第三方登錄 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...