Skip to content

对功能进行归类、排版,一套UI模板,非常适合简单的Demo或练习项目。

Notifications You must be signed in to change notification settings

yfengtech/smart-template

Repository files navigation

SmartTemplate

这个项目用来帮助你快速完成Demo示例代码,避免重复的创建UI。 只需要把你要跳转的界面或者要进行的操作进行一些简单的配置,我会帮你管理分组,添加描述。

一句话来说,这就是个写Demo的壳子。。。

背景

在需要写大量的演示或测试项目时,频繁的创建项目,画界面,然后跳转
或者需要一些数据时,就写一个循环造了一些假数据出来
并且每次这样的示例代码完全没有条理,十分混乱

这个库的产出就是为了整理这些演示和示例代码,让其界面工整,逻辑清晰

功能

  • 管理界面分组,支持Activity和Fragment的分组
  • 支持直接打开activity,fragment或直接运行代码(用于调试dialog等功能)
  • 提供一些常用功能,例如快速生成列表数据等

引入此库,节省时间,只需要写你关心的东西

演示

描述 代码 结果
显示一个Fragment
打开一个Activity
执行代码块
分组显示

点此下载apk体验

引入

根目录的build.gradle加入

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
        ...
    }
}

modul中

implementation 'com.github.yfengtech:smart-template:1.0.0'

配置

这个库使用Kotlin开发,使用时需要DSL配置,如果你不熟悉,没关系很简单,根据上面的示例可以轻易操作。(如果源码能给你带来一些帮助,我会很高兴😄)

Gradle配置如下:

  • minSdkVersion ≥ 19
  • 为了保证版本统一,少出错;compileSdkVersiontargetSdkVersion最好为28(否则可能会报资源找不到的错,如果你一定要低于28,将库中的support包排除)

使用

使用起来简单粗暴,在任意一个Activity(继承AppCompatActivity)中,不需要设置布局,框架中会自动设置,调用SmartTemplate.apply()即可

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        SmartTemplate.apply(this) {
            fragmentItem(Sample1Fragment::class.java) {
                title = "fragment title"
                desc = "fragment desc"
            }
            activityItem(Sample1Activity::class.java) {
                title = "Sample Activity"
                desc = "我是个activity"
            }
            executionItem {
                title = "弹出dialog"
                desc = "直接执行代码块,弹出dialog"
                execute { context ->
                    AlertDialog.Builder(context)
                        .setTitle("我是title")
                        .setMessage("我是message")
                        .create()
                        .show()
                }
            }
            itemList {
                title = "我是一个分组"
                fragmentItem(Sample1Fragment::class.java) {
                    title = "fragment title"
                    desc = "fragment desc"
                }
                activityItem(Sample1Activity::class.java) {
                    title = "Sample Activity"
                    desc = "我是个activity"
                }
            }
        }
    }
}

其他功能

后期增加了一些便捷的辅助功能

快速生成列表数据

调用这个函数,接受一个RecyclerView,直接帮你填充数据

  • orientation 列表方向(默认竖向)
  • itemCount:需要的item数量
  • useEnglishText:true为英文数据,false为中文数据(默认true)
fun generateSampleData(
        context: Context,
        recyclerView: RecyclerView,
        orientation: Int = LinearLayoutManager.VERTICAL,
        itemCount: Int? = null,
        useEnglishText: Boolean = true
    )

调用

SmartTemplate.generateSampleData(context, recyclerView)

示例

最后

  • 如果你觉得还不错,欢迎Star
  • 如果使用过程中发现问题,欢迎Issues

这个库本人一直在使用,会持续维护下去

About

对功能进行归类、排版,一套UI模板,非常适合简单的Demo或练习项目。

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages