如何正确设计登录屏幕?

问题描述:

我是android开发新手,我开发了一个应用程序,在该应用程序中将通过firebase(使用Google,Facebook,Twitter,gitHub和匿名登录)登录。但我不知道如何通过登录screesn为我的应用程序正确设计逻辑和体系结构。现在如何正确设计登录屏幕?

,我创建auth_activity.xml其中:

<LinearLayout 
    android:id="@+id/btn_group_social" 
    android:layout_width="match_parent" 
    android:layout_height="40dp" 
    android:layout_centerInParent="true" 
    android:gravity="center_horizontal" 
    android:orientation="horizontal" 
    android:layout_margin="15dp" 
    android:layout_above="@+id/mail_pass"> 

    <ImageButton 
     android:id="@+id/btn_google" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:src="@drawable/ic_google_256dp" 
     android:scaleType="centerInside" 
     android:background="@null"/> 

    <ImageButton 
     android:id="@+id/btn_facebook" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:src="@drawable/ic_facebook_256dp" 
     android:scaleType="centerInside" 
     android:background="@null"/> 

    <ImageButton 
     android:id="@+id/btn_twitter" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:src="@drawable/ic_twitter_256dp" 
     android:scaleType="centerInside" 
     android:background="@null"/> 


    <ImageButton 
     android:id="@+id/btn_gitHub" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:src="@drawable/ic_git_hub_256dp" 
     android:scaleType="centerInside" 
     android:background="@null"/> 

</LinearLayout> 



<LinearLayout 
    android:id="@+id/mail_pass" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:gravity="center_horizontal" 
    android:orientation="vertical" 
    android:paddingTop="50dp"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:textSize="25dp" 
     android:paddingBottom="15dp" 
     android:text="or"/> 

<EditText 
    android:id="@+id/editText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:inputType="textEmailAddress" 
    android:hint="@string/email"/> 

<EditText 
    android:id="@+id/editText2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:inputType="textPassword" 
    android:hint="@string/password"/> 

    <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/btn_access" 
     android:text="@string/access"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/forgot_your_password" 
     android:textColor="@color/bg_screen1" 
     android:paddingTop="15dp"/> 

</LinearLayout> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Skip" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:background="?android:selectableItemBackground" 
    android:layout_margin="5dp"/> 

而且,我试图创造一个我实现了谷歌签署一项活动,但我不认为这将是真正的创造一个活动的所有方式登录(谷歌,脸谱等)。 我不太了解如何正确组织它。

也许你有一个完成的项目,其中有一个登录。

谢谢。

+1

Android studio有默认的活动,称为登录活动。你可以尝试添加它,看看它是否有效。它会自动创建布局文件和一些逻辑。 –

+0

如果您是Android新手,我真的不认为任何人都会为您提供实施的项目。你不会学习。我会先看看更多功能的完成情况,然后根据您的设计进行设计,查看[this](https://sourcey.com/beautiful-android-login-and-signup-screens- with-material-design /)和[this](http://graphicdesignjunction.com/2014/03/sign-in-login-app-ui-designs/)。但建议的一句话,您需要更全面的布局/小部件属性知识来创建自定义布局。我不希望开箱即用的代码适用于您的使用案例 –

+0

就像@HonorLT提到的那样,只需进入项目中的应用程序文件夹,左键单击,新建 - >活动 - >登录活动 –

Like this 正如在评论中提到,你可以添加一个活动像下面

https://sourcey.com/beautiful-android-login-and-signup-screens-with-material-design/

这可能帮助你!

为了使一切正常工作,我们需要添加一些依赖到您的应用程序目录中的build.gradle文件。 ButterKnife是可选的,但我们喜欢用它来清理我们的Java代码。

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:22.2.0' 
    compile 'com.android.support:design:22.2.0' 
    compile 'com.jakewharton:butterknife:6.1.0' 
}