Android:Welcome,一个容易使用和扩展的引导页控件

恩,今天的小岛天气不太好,淅淅沥沥下起来了雨,不知道是不是因为前两天520,521发誓的人太多了……哈哈……
平常做的Android项目中经常会用到引导页面,虽然显示的次数并不多,但是却是用户对App的第一印象,能否做好App引导页面,很大程度上决定着这个App的逼格高低,从github上发现了一个很好用的开源项目,可惜没找到对应的翻译版,只好自己简单写一下。大家如果英语还可以的话,可以直接去看原文。welcome-android毕竟我的英语也不咋的……

Welcome

效果

恩,先看下效果。个人很喜欢这种风格哦。
welcome

使用方法

添加依赖

compile 'com.stephentuso:welcome:1.4.1'

如果你要使用proguard的话,你还得加上这些规则

-keepclassmembers class * extends com.stephentuso.welcome.WelcomeActivity {
    public static java.lang.String welcomeKey();
}

最基础的用法

  1. 首先要创建一个欢迎界面,继承WelcomeActivity,然后在AndroidManifest中进行注册,需要注意的是,必须使用WelcomeScreenTheme的子主题:
<activity android:name=".activity.MyWelcomeActivity"
          android:theme = "@style/WelcomeScreenTheme"/>
  1. 重写Activity的configuration()方法。使用WelcomeConfiguration.Builder进行设置:
@Override
protected WelcomeConfiguration configuration() {
    return new WelcomeConfiguration.Builder(this)
            .defaultBackgroundColor(R.color.background)
            .page(new TitlePage(R.drawable.logo,
                    "Title")
            )
            .page(new BasicPage(R.drawable.image,
                    "Header",
                    "More text.")
                    .background(R.color.red_background)
            )
            .page(new BasicPage(R.drawable.image,
                    "Lorem ipsum",
                    "dolor sit amet.")
            )
            .swipeToDismiss(true)
            .build();
}

不需要重写onCreate或调用setContentView方法。

3.欢迎屏幕通过WelcomeHelper来进行展示。onSaveInstanceState需要确保只有一个欢迎屏幕的实例启动。将以下内容添加到要显示欢迎屏幕的活动(可能是您的启动器活动)

WelcomeHelper welcomeScreen;

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...
    welcomeScreen = new WelcomeHelper(this, MyWelcomeActivity.class);
    welcomeScreen.show(savedInstanceState);
    ...
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    welcomeScreen.onSaveInstanceState(outState);
}

如果您有导航栏覆盖的按钮/指示器的问题,请使用.SolidNavigation欢迎屏幕主题之一。
例如,要强制显示欢迎画面,要让用户在按下按钮时再次查看,请创建WelcomeHelper如上所示并调用.forceShow()。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是一个简单的登录界面和跳转面的示例代码: 1. 在 Android Studio 中创建一个新的项目,并在 app/build.gradle 文件中添加以下依赖项: ``` implementation 'androidx.appcompat:appcompat:1.2.0' ``` 2. 在 res/layout 目录下创建一个名为 activity_login.xml 的布局文件,并添加以下代码: ```xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <EditText android:id="@+id/username" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="用户名"/> <EditText android:id="@+id/password" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="密码" android:inputType="textPassword"/> <Button android:id="@+id/login_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录"/> </LinearLayout> ``` 3. 在 res/layout 目录下创建一个名为 activity_main.xml 的布局文件,并添加以下代码: ```xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <TextView android:id="@+id/welcome_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="欢迎来到主面!"/> </LinearLayout> ``` 4. 在 LoginActivity.java 文件中添加以下代码: ```java import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class LoginActivity extends AppCompatActivity { private EditText usernameEditText; private EditText passwordEditText; private Button loginButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); usernameEditText = findViewById(R.id.username); passwordEditText = findViewById(R.id.password); loginButton = findViewById(R.id.login_button); loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String username = usernameEditText.getText().toString(); String password = passwordEditText.getText().toString(); if (username.equals("admin") && password.equals("123456")) { Intent intent = new Intent(LoginActivity.this, MainActivity.class); startActivity(intent); } else { Toast.makeText(LoginActivity.this, "用户名或密码错误!", Toast.LENGTH_SHORT).show(); } } }); } } ``` 5. 在 MainActivity.java 文件中添加以下代码: ```java import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private TextView welcomeText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); welcomeText = findViewById(R.id.welcome_text); } } ``` 6. 运行程序,输入用户名和密码,点击登录按钮,应该会跳转到 MainActivity 面,并显示欢迎文本。 希望这个示例能够帮助你实现登录界面和跳转面。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值