Android Studio 组文件模板,子文件的自定义路径

Hus*_*hmy 5 android android-studio file-templates

我正在尝试创建一个Group File Template必须有子文件的文件

  • FragmentKotlinClass.kt
    • ViewModel.kt
    • Fragmetn_layout.mxl

但问题是所有三个文件都创建在同一目录中
问题是如何在文件中指定目录名以File Name Template.xml其放入res/layout/

在此输入图像描述

小智 2

您可以使用上级目录前缀在上级目录中创建文件../fragment.xml../../fragment.xml

因此,挑战在于找出我们应该向上移动多少次。我使用 $PACKAGE_NAME 变量和一些正则表达式来解决这个问题。首先,我向上移动到项目根目录,然后向下移动到 /res/layout/ ,最后以蛇形格式添加我的片段文件。

所以你可以在你的模板中尝试这个单行解决方案File Name:

#set( $LAYOUT_FILE = $PACKAGE_NAME.replaceAll("\.", "/").replaceAll("\w+","\.\.").concat("/../res/layout/").concat($NAME.replaceAll("([a-z])([A-Z]+)", "$1_$2").toLowerCase()) )${LAYOUT_FILE}
Run Code Online (Sandbox Code Playgroud)