/about-page

A nice about page library based on MultiType

Primary LanguageJavaApache License 2.0Apache-2.0

about-page

License maven-central

A nice about page based on MultiType, material design and very easy to use.

From the PureWriter App:

Get it on Google Play

Getting started

In your build.gradle:

This library has been rebuilt based on AndroidX. If you are still using the android support library, please use version about:2.1.1, about-extension:2.1.1 and multitype:3.4.4.

In addition, since 2.3.0 we have migrated to build with MultiType 4.0.0. If you don't want to use MultiType 4.0.0, you can use the last stable version multitype:3.5.0(me.drakeet.multitype:multitype:3.5.0) & about:2.2.0(me.drakeet.support:about:2.2.0).

dependencies {
    implementation 'com.drakeet.about:about:2.3.1'
    implementation 'com.drakeet.multitype:multitype:4.0.0'
    
    // extension for loading our host Android Links data
    // implementation 'com.drakeet.support:about-extension:2.3.1'
    // optional: for using the PicassoImageLoader
    // implementation 'com.squareup.picasso:picasso:2.71828'
    // optional: for using the GlideImageLoader
    // implementation 'com.github.bumptech.glide:glide:4.9.0'
    // optional: for using the GsonJsonConverter
    // implementation 'com.google.code.gson:gson:2.8.5'
    // optional: for using the MoshiJsonConverter
    // implementation 'com.squareup.moshi:moshi:1.7.0'
}

Usage

public class AboutActivity extends AbsAboutActivity {

    @Override
    protected void onCreateHeader(@NonNull ImageView icon, @NonNull TextView slogan, @NonNull TextView version) {
        icon.setImageResource(R.mipmap.ic_launcher);
        slogan.setText("About Page By drakeet");
        version.setText("v" + BuildConfig.VERSION_NAME);
    }

    @Override
    protected void onItemsCreated(@NonNull List<Object> items) {
        items.add(new Category("介绍与帮助"));
        items.add(new Card(getString(R.string.card_content)));

        items.add(new Category("Developers"));
        items.add(new Contributor(R.drawable.avatar_drakeet, "drakeet", "Developer & designer", "http://weibo.com/drak11t"));
        items.add(new Contributor(R.drawable.avatar_drakeet, "黑猫酱", "Developer", "https://drakeet.me"));
        items.add(new Contributor(R.drawable.avatar_drakeet, "小艾大人", "Developer"));

        items.add(new Category("Open Source Licenses"));
        items.add(new License("MultiType", "drakeet", License.APACHE_2, "https://github.com/drakeet/MultiType"));
        items.add(new License("about-page", "drakeet", License.APACHE_2, "https://github.com/drakeet/about-page"));
    }
}

Custom style/theme

<style name="AppTheme.About" parent="Theme.AppCompat.DayNight.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@android:color/black</item>
    
    <!--optional-->
    <item name="aboutPageHeaderBackground">reference|color</item>
    <item name="aboutPageHeaderContentScrim">reference|color</item>
    <item name="aboutPageHeaderTextColor">color</item>
    <item name="aboutPageNavigationIcon">reference</item>
</style>

Screenshots

License

Copyright (c) 2016-present. Drakeet Xu

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.