Android studio配置代码模版

一、背景:

在工作中,总是要写一些重复的代码,特别是项目有相关规范时,就会产生很多模版代码,每次要么复制一份,要么重新写一份新的,很麻烦,于是我就在想,能不能像创建一个activity或者通过写一些关键词,然后生成常用的代码模版呢,答案是肯定的

二、关键词生成代码模版:

首先打开File->Setting设置,选中LiveTemplates选项,再点击"+"号,选中2,点击ok,可以看到下面的弹窗:

输入名字,便可以得到一个自定义组,如上面的Android,建好组后,选中,然后再次点击"+"号,选择1,点击ok,可以看到下面的弹窗:

1代表关键词的名字,2是关键词生成代码的功能描述,3可以控制在哪些地方可以使用关键词生成代码,如xml、java、kotlin等,4表示关键词输入后点击回车键生成代码,中间Template text里的内容就是该关键词要生成的代码,你可以自由设置,完成之后点击ok,在关键词生效的地方输入该关键词,然后按回车,就会立刻生成你设置的模版代码

三、像activity一个通过选项生成一个代码文件:

如上图,还是先打开设置面板,找到左侧选项,点击"+"号,输入name,和生成文件的扩展名(kotlin就是kt,java就是java),再在下面面板里输入模版代码,最后点击ok即可,这样右键单击new就会出现相应的选项:

单击对应选项比如dialog,就会弹出下面弹窗:

输入名字后点击ok就会生成你设置的模版代码文件了,下面是我设置的代码文件模版,可以参考下:

复制代码
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME}

#end
import android.content.Context
import android.graphics.Color
import android.view.Gravity
import android.view.View
import org.libpag.PAGFile
#parse("File Header.java")
class ${NAME}(context: Context) : BaseDialog(context) {
private lateinit var binding: DialogBinding

    init {
        setBackgroundColor(Color.parseColor("#B3000000"))
        isOutSideTouchable = true
        setOutSideDismiss(true)
        popupGravity = Gravity.CENTER
        setContentView(R.layout.dialog_get)
    }

    override fun onViewCreated(contentView: View) {
        super.onViewCreated(contentView)
        binding = DialogBinding.bind(contentView)
        binding.getSoundBean.setOnSingleClickListener {
            dismiss()
        }
    }

    fun setData(beanCount: Int = 0) {
        binding.soundBeanReward.text = R.string.sound_beans_with.text(beanCount.toString())
    }
}
相关推荐
StarShip22 分钟前
从Activity.setContentView()开始
android
千里马学框架1 小时前
重学SurfaceFlinger之Layer显示区域bounds计算剖析
android·智能手机·sf·安卓framework开发·layer·surfaceflinger·车载开发
nono牛2 小时前
安卓休眠与唤醒流程
android
二流小码农3 小时前
鸿蒙开发:个人开发者如何使用华为账号登录
android·ios·harmonyos
阿华田5123 小时前
如何基于Jupyter内核自研NoteBook
ide·python·jupyter·自研notebook
StarShip3 小时前
Android View框架概览
android·计算机图形学
愤怒的代码3 小时前
解析Android内存分析的指标
android·app
summerkissyou19873 小时前
android-hardware/interfaces/automotive和hardware/libhardware/include/hardware区别
android
Evan芙3 小时前
mysql二进制部署以及多实例部署
android·数据库·mysql
走在路上的菜鸟4 小时前
Android学Dart学习笔记第二十三节 类-扩展类型
android·笔记·学习·flutter