opceone 发表于 2013-8-29 16:30

【我播盒子】 我播主题DIY教程

【我播盒子】一、更换桌面1、现在暂时只支持手动更换桌面。2、更换方法:(1)、修改 /data/data/tv.wobo.launcher/shared_prefs下面的themeConfig.xml文件里 里面<theme_background>标签的值(详细介绍请看三、配置文件及路径说明):<string name="theme_background">/data/user/themeset/theme1/bg.png</string> /data/user/themeset/theme1/bg.png à为图片的绝对路径(注:图片必须带后缀名,且不能放到/mnt目录下,支持常规图片,大小为1280x720 或1280x1080)(2)、把图片bg.png放到/data/user/themeset/theme1/ 目录下面。(3)、换回系统桌面:修改theme_background 值 或是 直接删除该路径下的图片。注:也可以到主题中更换(见后面章节介绍)。二、更换主题1、现在暂时只支持手动更换主题。2、更换方法:(1)、该文件保存在 /data/data/tv.wobo.launcher/shared_prefs下面的themeConfig.xml文件里的<theme_path>标签的值(详细介绍请看三、配置文件及路径说明):<string name="theme_path">/data/user/themeset/theme1</string>/data/user/themeset/theme1 à为存放主题包的绝对路径(注:不能放到/mnt目录下)(2)、把主题文件夹theme1放到/data/user/themeset/ 目录下面(可到官方论坛下载主题)。(3)、换回系统主题:修改theme_path 值 或是 直接删除该路径下的主题文件夹。(4)、重启。3、只更换主题中的图片      (1)、用自己的图片 替换 主题文件夹下pics 中的图片(2)、更改布局文件skin.xml 文件(具体更改见五、控件 中详细介绍)注:用户也可自己做主题(具体见五、控件 中详细介绍)。三、配置文件及路径说明1、自定义主题的配置文件该文件保存在 /data/data/tv.wobo.launcher/shared_prefs下面的themeConfig.xml文件里里面主要有标签<theme_filename ><theme_background> 和 <Version>theme_path:主题的路径(存放主题文件夹的绝对路径)theme_background:主题的桌面背景的路径(绝对路径)Version:用户无需关注初始值:<map><string name="theme_path">null</string> <string name="theme_background">null</string> <string name="Version">1</string> </map>2、自定义主题文件夹结构主题文件夹下有 skin.xml 文件和 pics 文件夹skin.xml 文件为桌面布局文件pics 文件夹为图片文件夹注:1、/mnt 目录下不能用,因为断电/mnt目录下文件会丢失。sdcard也不能使用,现在我们程序不能读写sdcard。所以主题文件可考虑放在/data/user/目录下。2、修改themeConfig.xml文件时,可能会修改不成功,提供一下方法:    修改themeConfig.xml文件后,返回/data/data/tv.wobo.launcher/目录,再次进入/data/data/tv.wobo.launcher/shared_prefs/ 目录,如果存在有themeConfig.xml.bak文件,删除该文件。3、用户修改skin.xml 文件 或是 pics 中的图片时需要特别谨慎,出错可能会导致无法加载桌面。四、指令数据是指点击某个图片或是按钮,执行某项动作(打开一个程序或是跳转到另一个程序)packagename,classname,data,action,categorypackagename要启动的程序包名 ,classname 类名通常通过设置这两个参数启动一个应用程序。用户如感兴趣,可问度娘,详细了解。这里不作过多说明。五、控件(所有控件加WT(WoboTable)前缀)1、桌面基本控件WTTable                                        //桌面WTRelativeLayout                        //线性布局WTViewFlipper                              //翻页布局WTAbsoluteLayout                        //绝对布局WTLinearLayout                        / /相对布局WTHorizontalScrollView      //水平滚动布局WTShortCutContainer                //快捷方式容器WTEventButton                   //事件按钮WTImageView                                 //图片WTWeather                                          //天气WTWebStatus                                  //网络状态WTTextView                                        //文本在布局文件中使用控件时,建立标签规则如下:tv.wobo.launcher.woboTable. + “控件类全名称”如下格式:<tv.wobo.launcher.woboTable.WTImageView/>1、桌面(WTTable):继承LinearLayout(1)布局中设置背景图片      wobo:background="background.png"//skin.xml中设置所有的图片,都只写图片名即可,所有图片放在pics文件夹下。2、布局控件WTRelativeLayout                        //相对布局WTViewFlipper                              //翻页布局WTAbsoluteLayout                        //绝对布局WTHorizontalScrollView      //水平滚动布局WTLinearLayout                        //线性布局共同属性:layout_width, layout_height长宽取值:fill_parent,wrap_content,match_parent,或(int)具体数字。(在其他控件相同,不再作说明)background   背景取值:String(图片名) (在其他控件相同,不再作说明)layout_x,layout_y: 控件左上角在父容器中的坐标(绝对布局中)取值:(int) 具体数字(在其他控件相同,不再作说明)padding_marginRight,padding_marginLeft,padding_marginTop,padding _marginBottom控件内容相对控件的边缘的边距取值:(int) 具体数字(在其他控件相同,不再作说明)alpha: 整个控件的透明度取值 0-255;0为纯透明;在线性布局中还有属性orientation ,true表示横向,false表示纵向,默认为true使用方法:android:layout_width="fill_parent"android:layout_height="wrap_content"android:padding_marginLeft="80"android:padding_marginRight="50"android:padding_marginTop="10"3、WTShortCutContainer            //快捷方式容器layout_x,layout_y控件左上角在父容器中的坐标(绝对布局中)packagename,classname,data,action,category,extra指令数据src,iconSrc,srcReplace,backgroundsrc当前图片,srcReplace选中时的替换图片,选中时的背景图片,iconSrc自定义快捷键的图片取值:String(图片名) (在其他控件相同,不再作说明)layout_width,layout_height长宽padding_marginRight,padding_marginLeft,padding_marginTop,padding _marginBottom控件内容相对控件的边缘的边距iconHeight,iconWidth小图标的大小 (自定义快捷键时设置)取值:(int) 具体数字(在其他控件相同,不再作说明)requestFocus是否获取焦点,布尔值,默认为false (在其他控件相同,不再作说明)textSize,textColor字体大小,字体颜色取值:textSize :(int) 具体数字textColor:String (#颜色值如(#FFFFFFFF白色)) (在其他控件相同,不再作说明)alpha: 整个控件的透明度取值 0-255;0为纯透明vecitcalSpace, horizontalSpace行距,列距取值:(int) 具体数字(在其他控件相同,不再作说明)childselectSrc, defaultchildSrc自定义快捷方式的选中图片,lineNum, columnNum行数,列数取值:(int)具体数字(在其他控件相同,不再作说明)cellWidth, cellHeight自定义快捷方式的长宽取值:(int) 具体数字orientation横向或是纵向排列,布尔值,true表示横向,false表示纵向(在其他控件相同,不再作说明)requestFocus让自定义快捷键开机获得光标tag控件标记(用户不能修改)(用户不能修改)使用方法<tv.wobo.launcher.woboTable.WTShortCutContainer            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:cellHeight="70"            android:cellWidth="100"            android:childselectSrc="select.9.png"            android:columnNum="10"            android:defaultChildSrc="custom.png"            android:horizontalSpace="50"            android:lineNum="3"            androidhttp://www.hdpfans.com/static/image/smiley/default/shocked.gifrientation="false"            android:padding_marginLeft="120"            android:padding_marginRight="80"            android:padding_marginTop="20"            android:tag="WTShortCutContainer"            android:textColor="#FFFFFFFF"            android:textSize="18"            android:vecitcalSpace="40"             android:requestFocus="true">      </tv.wobo.launcher.woboTable.WTShortCutContainer>注:必须加android:tag="WTShortCutContainer"标记4、WTEventButton         layout_x,layout_y控件左上角在父容器中的坐标(绝对布局中)packagename,classname,data,action,category,extra指令数据src,iconSrc, srcReplace,backgroundsrc当前图片,文字和图片组合时的图片,srcReplace选中时的替换图片,选中时的背景图片layout_width,layout_height长宽padding_marginRight,padding_marginLeft,padding_marginTop,padding _marginBottom控件内容相对控件的边缘的边距iconHeight,iconWidth小图标的大小 (自定义快捷键时设置)requestFocus是否获取焦点textSize,textColor,text字体大小,字体颜色,图片和文字组合时的文本alpha: 整个控件的透明度取值 0-255;0为纯透明tag控件标记(用户不能修改)使用方法:<tv.wobo.launcher.woboTable.WTEventButton                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:action="android.intent.action.VIEW"                android:data="http://www.hao123.com"                android:src="ico_web.png"                android:srcReplace="ico_web_press.png" />5、WTImageView                  布局控件的共同属性src图片tag控件标记(用户不能修改)使用方法<tv.wobo.launcher.woboTable.WTImageView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:padding_marginLeft="30"            android:padding_marginTop="20"            android:src="wobo_logo_withe.png" />6、日历控件(WTCalendar): layout_x,layout_y控件左上角在父容器中的坐标(绝对布局中)layout_width,layout_height长宽padding_marginRight,padding_marginLeft,padding_marginTop,padding _marginBottom控件内容相对控件的边缘的边距textSize,textColor字体大小,字体颜色alpha: 整个控件的透明度取值 0-255;0为纯透明tag控件标记(用户不能修改)注:android:tag="time"表时间    android:tag="data"表示日期    android:tag="week"表星期    android:tag="lunar"表农历在xml中使用:<tv.wobo.launcher.woboTable.WTCalendar            android:id="@+id/Calendar"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:padding_marginLeft="740"            android:padding_marginRight="10" >            <tv.wobo.launcher.woboTable.WTTextView                android:padding_marginBottom="0"                android:padding_marginLeft="245"                android:padding_marginRight="0"                android:padding_marginTop="5"                android:tag="time"                android:textColor="#FFFFFFFF"                android:textSize="38" />            <tv.wobo.launcher.woboTable.WTTextView                android:padding_marginBottom="0"                android:padding_marginLeft="70"                android:padding_marginRight="0"                android:padding_marginTop="10"                android:tag="data"                android:textColor="#FFFFFFFF"                android:textSize="30" />            <tv.wobo.launcher.woboTable.WTTextView                android:padding_marginBottom="10"                android:padding_marginLeft="250"                android:padding_marginRight="0"                android:padding_marginTop="50"                android:tag="week"                android:textColor="#FFFFFFFF"                android:textSize="22" />            <tv.wobo.launcher.woboTable.WTTextView                android:padding_marginBottom="0"                android:padding_marginLeft="70"                android:padding_marginRight="0"                android:padding_marginTop="40"                android:tag="lunar"                android:textColor="#FFFFFFFF"                android:textSize="22" />      </tv.wobo.launcher.woboTable.WTCalendar>7、天气控件(WTWeather)layout_x,layout_y控件左上角在父容器中的坐标(绝对布局中)packagename,classname,data,action,category,extra指令数据src, srcReplace,backgroundsrc当前图片,srcReplace选中时的替换图片,选中时的背景图片layout_width,layout_height长宽padding_marginRight,padding_marginLeft,padding_marginTop,padding _marginBottom控件内容相对控件的边缘的边距textSize,textColor字体大小,字体颜色alpha: 整个控件的透明度取值 0-255;0为纯透明tag控件标记(用户不能修改)注:android:tag="city"表城市    android:tag="lower"表示最低温度    android:tag="upper"表最高温度 android:tag="weather"表天气android:tag="image"表图片布局文件中使用:<tv.wobo.launcher.woboTable.WTWeather            android:layout_width="wrap_content"            android:layout_height="90"            android:padding_marginBottom="0"            android:padding_marginLeft="340"            android:padding_marginRight="0"            android:padding_marginTop="0"            android:layout_x="665"            android:layout_y="140"            android:background="123.png"            android:classname="tv.wobo.launcher.WeatherActivity"            android:packagename="tv.wobo.launcher"            android:src="ico_weather1.png"             android:tag="WTWeather">            <tv.wobo.launcher.woboTable.WTTextView                android:layout_width="155"                  android:layout_height="wrap_content"                android:padding_marginBottom="0"                android:padding_marginLeft="25"                android:padding_marginRight="0"                android:padding_marginTop="20"                android:tag="city"                 android:textColor="#FFFFFFFF"                android:textSize="32" />            <tv.wobo.launcher.woboTable.WTTextView                android:padding_marginLeft="170"                android:padding_marginRight="0"                android:padding_marginTop="5"                android:low_marginBottom="0"                android:tag="lower"                 android:textColor="#FFFFFFFF"                android:textSize="25" />            <tv.wobo.launcher.woboTable.WTTextView                android:padding_marginBottom="0"                android:padding_marginLeft="245"                android:padding_marginRight="0"                android:padding_marginTop="5"                android:tag="upper"                 android:textColor="#FFFFFFFF"                android:textSize="25" />            <tv.wobo.launcher.woboTable.WTTextView                android:padding_marginBottom="0"                android:padding_marginLeft="173"                android:padding_marginRight="0"                android:padding_marginTop="40"                android:tag="weather"                 android:textColor="#FFFFFFFF"                android:textSize="25" />            <tv.wobo.launcher.woboTable.WTImageView                android:padding_marginBottom="0"                android:padding_marginLeft="325"                android:padding_marginRight="0"                android:padding_marginTop="0"                android:tag="image" />      </tv.wobo.launcher.woboTable.WTWeather>8、网络控件(WTWebStatus)layout_x,layout_y控件左上角在父容器中的坐标(绝对布局中)packagename,classname,data,action,category,extra指令数据src, srcReplacesrc代表断网时的图片,srcReplace代表联网时的图片layout_width,layout_height长宽padding_marginRight,padding_marginLeft,padding_marginTop,padding _marginBottom控件内容相对控件的边缘的边距alpha: 整个控件的透明度取值 0-255;0为纯透明tag控件标记(用户不能修改)使用方式:<tv.wobo.launcher.woboTable.WTWebStatus            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:padding_marginLeft="1100"            android:padding_marginTop="10"            android:classname="tv.wobo.setting.wifi.WiFiActivity"            android:packagename="tv.wobo.setting"            android:parentname="tv.wobo.launcher.control.YFRelativeLayout"            android:src="wifi_disable.png"            android:srcReplace="wifi_valid.png" />
9、WTTextViewlayout_width, layout_height长宽background   背景layout_x,layout_y: 控件左上角在父容器中的坐标(绝对布局中)padding_marginRight,padding_marginLeft,padding_marginTop,padding _marginBottom控件内容相对控件的边缘的边距alpha: 整个控件的透明度取值 0-255;0为纯透明;textSize,textColor字体大小,字体颜色tag控件标记(用户不能修改)使用方法:<tv.wobo.launcher.woboTable.WTTextView                android:padding_marginBottom="0"                android:padding_marginLeft="245"                android:padding_marginRight="0"                android:padding_marginTop="5"                android:tag="upper"                 android:textColor="#FFFFFFFF"                android:textSize="25" />
页: [1]
查看完整版本: 【我播盒子】 我播主题DIY教程