一,編譯不同界面UI
1)make menuconfig 配置不同UI;
2)在8368U.TD/application/reference_td/tdLauncher/view/Makefile中會編譯不同UI
ifeq ($(CONFIG_GLB_GMNCFG_ENABLE_800_480_UI),y)
TD_RESOURCE_DIR := $(RESOURCE_DIR)/resources800
endif
ifeq ($(CONFIG_GLB_GMNCFG_ENABLE_1024_600_UI),y)
TD_RESOURCE_DIR := $(RESOURCE_DIR)/resources1024
endif
ifeq ($(CONFIG_GLB_GMNCFG_ENABLE_1280_720_UI),y)
TD_RESOURCE_DIR := $(RESOURCE_DIR)/resources1280
endif
二,ULOGD輸出流程
8368U.TD/application/reference_td/solingtdLauncher/middleware/framework/include/utils/clog.h
#ifdef AP_DBG
#ifdef ENABLE_APP_DEBUG
#define AP_DBG
8368U.TD/application/reference_ui/build_qtap.sh
if [ "$CONFIG_GLB_GMNCFG_APP_LOG_DEBUG_ENABLE" == "y" ]; then
echo 'ENABLE_APP_DEBUG'
SDKQT_CONFIG="$SDKQT_CONFIG CONFIG+=ENABLE_APP_DEBUG"
else
echo 'DISABLE_APP_DEBUG'
8368U.TD/application/reference_ui/Makefile
#export CONFIG_GLB_GMNCFG_APP_LOG_DEBUG_ENABLE
三,TD工具顯示UI的配置
[style]
"./resources1024/style/style_media.rc"
......
[layout]
#"layout_smartphone.ini"
#"layout_clnormal.ini"
"./resources1024/etc/media/layout_audio.ini"
[list_layout]
"./bt/btlist_layout.ini"
"./homeview/home_usblist_layout.ini"
四,在solingtdLauncher工程下面添加資源和cpp檔案的流程
(以添加gotokeyboard來說明)
1,将資源檔案拷貝到對應檔案下(8368U.TD/application/reference_td/solingtdLauncher/view/resources/resources1024/style/common/GOTO)
2,将要加載的對應資源寫到rc檔案中,然後在ini檔案中可以直接調用該資源(将gotokeyboard要用到的資源寫到style_common.rc中,然後在layout_keyboard.ini中就可以使用該資源)
8368U.TD/application/reference_td/solingtdLauncher/view/resources/resources1024/style/style_common.rc
button.gotokeyboard_btn_0_bg {
[na]
bg="./common/GOTO/goto_keyboard_0_n.png",stretch_hv3
[s]
bg="./common/GOTO/goto_keyboard_0_p.png"
[d]
bg="./common/GOTO/goto_keyboard_0_d.png"
}
......
8368U.TD/application/reference_td/solingtdLauncher/view/resources/resources1024/etc/media/layout_keyboard.ini
gotokeyboard_0_btn={
type="button"
x=155
y=293
w=130
h=60
style="gotokeyboard_btn_0_bg"
}
......
3,在config.ini中添加該資源
8368U.TD/application/reference_td/solingtdLauncher/view/resources/config.ini
theme_media={
"../style/style_topbar.rc"
"../style/style_volumebar.rc"
"../style/style_select.rc"
"../style/style_dialog.rc"
"../style/style_media.rc"
"../style/style_common.rc"
}
4,在代碼中加載該資源
void GotoKeyboard::initView()
{
TwStyleSwitchTheme("theme_media");
TwLayoutParseFile(getRootTWiget(), TGetExecutePath("../etc/media/layout_keyboard.ini"));
5,在Makefile中添加gotokeyboard.cpp檔案
8368U.TD/application/reference_td/solingtdLauncher/view/activitys/media/Makefile
LIBLDFLAGS += -L$(TOP)/middleware/apis/dispctrl -ldispctrlmod
LIBSRCS := mediaview/mediaview.cpp mediaview/usbactivity.cpp mediaview/usbview.cpp mediaview/smediaplaylist.cpp mediaview/gotokeyboard.cpp
五,用vscode生成的HelloWorld程式,是C語言工程,需要支援CPP。
需要在Makefile檔案中加入
......
CPPFLAGS := -std=c++11
......
LIBSRCS := src/gotokeyboard.cpp
六,将home設定為預設開機啟動項的流程
1,檢視 application/reference_td/solingtdLauncher/def_config.mk
ACTIVITY_INSTALL = \
mkdir -p $(TOP)/lib/activity; \
mkdir -p $(ACTIVITY_DESTDIR); \
mv $(TOP)/lib/$(LIBNAME).so $(TOP)/lib/activity; \
cp -avrf $(TOP)/lib/activity/$(LIBNAME).so $(ACTIVITY_DESTDIR);
ACTIVITY_DEF_INSTALL = \
mkdir -p $(TOP)/lib/activity/default; \
mkdir -p $(ACTIVITY_DESTDIR)/default; \
mv $(TOP)/lib/$(LIBNAME).so $(TOP)/lib/activity/default; \
cp -avrf $(TOP)/lib/activity/default/$(LIBNAME).so $(ACTIVITY_DESTDIR)/default;
ACTIVITY_DIRECT_INSTALL = \
mkdir -p $(TOP)/lib/activity/directstage; \
mkdir -p $(ACTIVITY_DESTDIR)/directstage; \
mv $(TOP)/lib/$(LIBNAME).so $(TOP)/lib/activity/directstage; \
cp -avrf $(TOP)/lib/activity/directstage/$(LIBNAME).so $(ACTIVITY_DESTDIR)/directstage;
2,檢視homeiew目錄的Makefile檔案,發現執行ACTIVITY_DEF_INSTALL這條指令,将libhomeactivity.so檔案拷貝到default目錄下。
all: $(LIBNAME)
make install
clean:
+$(ACIVITY_CLEAN)
install:
+$(ACTIVITY_DEF_INSTALL)
3,将Activity屬性設定為LauncherActivity
HomeActivity::HomeActivity(SelfQueue* queue):BaseObject(queue)
{
list<string> mIconPath;
mQueue = queue;
spCbk.reset(new HomeLauncherEventCbk(mQueue));
mProperty.reset(new HomeProperty(\
ACTIVITY_NAME,
LauncherActvity,//SourceActivity,//NormalActivity,
spCbk,
mIconPath,
NormalPriority,
AnmNormal,
0));
七,androidauto配置檔案路徑
application/reference_td/pubtdLauncher/view/resources/resources1024/etc/smartphoneconfig/Androidauto/androidauto_config_1024_600_UI.xml