中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android Studio中如何構建自定義模板

發布時間:2021-06-11 14:50:01 來源:億速云 閱讀:624 作者:Leah 欄目:移動開發

今天就跟大家聊聊有關Android Studio中如何構建自定義模板,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

一、TempateBuilder插件安裝

環境:Android Studio 3.1.1

方式1:AS內安裝

Android Studio中如何構建自定義模板

方式2:本地安裝

先去GitHub開源地址上下載插件壓縮包,或者到JetBrains上的插件地址(要翻 墻哦)下載。

Android Studio中如何構建自定義模板

安裝完后記得要重啟AS才能生效!!!

二、建立自定義模板

以創建TestActivity模板為例。

1. 創建模板所需文件

按照平時的Activity,及Layout文件位置來創建把。(其實也可以隨便找個位置創建以下的模板文件)
Java模板文件:TestSampleActivity.java

package ${packageName};

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

public class ${testName}Activity extends AppCompatActivity {

 private TextView mTvLog;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_${layoutName});
 mTvLog = findViewById(R.id.tv_log);
 }

 public void on${testName}(View view) {

 }

 private void log(String log) {
 StringBuilder sb = new StringBuilder();
 String s = mTvLog.getText().toString();
 sb.append(s).append("\n").append(log);
 mTvLog.setText(sb.toString());
 }

 public static void start(Context context) {
 Intent starter = new Intent(context, ${testName}Activity.class);
 context.startActivity(starter);
 }
}

XML模板文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 tools:context=".${testName}Activity"
 >

 <Button
 android:id="@+id/btn_${testName}"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:onClick="on${testName}"
 android:text="${testName}"
 android:textAllCaps="false"
 />

 <ScrollView
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 >
 <TextView
 android:id="@+id/tv_log"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 tools:text="Log"
 />
 </ScrollView>


</LinearLayout>

2. 選中模板文件TestSampleActivity.java及activity_test_sample.xml

Android Studio中如何構建自定義模板

3. 使用快捷鍵Alt+T,調出生成窗口,并填寫相關信息,及Add添加模板所使用的相關變量(如${testName})定義

Android Studio中如何構建自定義模板

Android Studio中如何構建自定義模板

下面來說明一下該界面對應的內容

  • Template Category 對應模板的分類,對應選擇導入模板時的模板分類,比如AS原本就有的Activity分類(我們經常在這個分類里面使用EmptyActivity),這里默認值是電腦的用戶名。

  • Template Name 對應模板名稱,對應選擇導入模板時的模板名稱,默認值是當前的Module名稱。

  • Template Description 對應模板描述信息,對應導入模板時彈出的導入界面的文字描述,默認為空。

  • Template Folder 對應生成模板所存放的位置,如果是Mac操作系統則默認為/Applications/Android Studio.app/Contents/plugins/android/lib/templates, Windows系統的話由于差異比較大,就默認為空了,可以自行配置[Android Studio安裝目錄]/plugins/android/lib/templates(這里只需要配置一次即可,插件將自動保存該位置)。

  • Input data區域

關于Input data的使用,先解釋下每個屬性對應的含義

  • id 變量名,必須和模板中使用的變量名對應,必填,比如上面模板文件中使用${testName},這里就應該填上對應的名稱,testName

  • name 變量簡介,必填

  • type 變量類型,string和boolean兩種,通過下拉框選擇,必填

  • default 變量對應的默認值,選填

  • help 添加該變量時的提示信息,選填

注意:不要使用中文,因為編碼問題所以使用中文會變成亂碼

4.點擊 Next 要進入更詳細的配置

recipe.xml.ftl配置

Android Studio中如何構建自定義模板
原內容

from是模板文件路徑,to是要生成的文件路徑,如果不修改,默認文件名,就是跟原來的模板文件名一樣。我們需要文件名也一同重新命名,所以要修改一下,調整為如下配置

<?xml version="1.0"?>
<recipe>

 <instantiate from="root/src/app_package/TestSampleActivity.java.ftl"
 to="${escapeXmlAttribute(srcOut)}/${testName}Activity.java" />

 <instantiate from="root/res/layout/activity_test_sample.xml.ftl"
 to="${escapeXmlAttribute(resOut)}/layout/activity_${layoutName}.xml" />

 <merge from="root/AndroidManifest.xml.ftl"
  to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />

 
</recipe>

AndroidManifest.xml.ftl 配置

Android Studio中如何構建自定義模板
原內容

從 recipe.xml.ftl配置中,我們就已經發現,其實AndroidManifest.xml的生成,是使用merge的方式,也就是跟Git的合并一樣,而這里的模板顯然已經不適用,所以需要對應調整為當前新的模板類型。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="${packageName}">

 <application>
 <activity android:name="${packageName}.${testName}Activity"/>
 </application>
</manifest>

其他的

template.xml,是控制創建時候的ui面板配置的,像在上一步中填寫的,名稱,默認值,類型等最終都是生成在這個文件中,當某項配置出錯時,可以根據需要做調整,不用每次都Alt+T新建模板。

build.gradle.ftl,是添加依賴使用的,我們沒有用到,所以不需要配置。

globals.xml.ftl,是全局一些配置,比如resOut是指定資源輸出文件夾。默認就ok了。

5. 點擊ok,生成成功,會在底部有提示,重啟AS后才生效。

Android Studio中如何構建自定義模板

三、使用

跟平常的新建EmptyActivity一樣操作,我們選擇我們剛剛創建的模板。

Android Studio中如何構建自定義模板

Android Studio中如何構建自定義模板

Android Studio中如何構建自定義模板

四、舉一反三

通過上面步驟,已經成功創建了一個快速測試的Activity模板。

最終模板生成的文件所在的位置是Alt+T時候配置的路徑,C:\Android\Studio\plugins\android\lib\templates,在這里也可以看到AS內置的模板,比如在C:\Android\Studio\plugins\android\lib\templates\activities\EmptyActivity里面的EmptyActivity模板。

同時可以參考內置模板的,template.xml、recipe.xml.ftl、globals.xml.ftl,及root\src下的模板文件,來找到自己需要的配置,比如創建文件之后,打開我們Activity.java文件。在recipe.xml.ftl文件中,加入命令
<open file="${escapeXmlAttribute(srcOut)}/${testName}Activity.java" />

還有其他的,如替換縮略圖之類。

看完上述內容,你們對Android Studio中如何構建自定義模板有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仁布县| 铅山县| 晋宁县| 安福县| 孟村| 奎屯市| 射阳县| 罗甸县| 诸城市| 定襄县| 宜黄县| 新源县| 同仁县| 关岭| 凉城县| 霞浦县| 唐河县| 章丘市| 济宁市| 张家港市| 长垣县| 佳木斯市| 洪泽县| 肃南| 阿克| 贵州省| 禄劝| 平乡县| 德兴市| 德保县| 三原县| 洛南县| 涿州市| 阳泉市| 洮南市| 梁河县| 犍为县| 东安县| 聊城市| 石家庄市| 安泽县|