亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

android 開發教程之日歷項目實踐(三)

2020-04-11 12:36:49
字體:
來源:轉載
供稿:網友

二、創建樣式

日歷顯示的表格線,使用 Cell 填充圖形的邊框來實現,為了統一,我們先定義邊框線的顏色及線條精細。

另外還要定義一系統填充樣式等。

創建 color

color_calendar_border 表格線
color_calendar_title_gregorian 標題欄日期年月文字的顏色color_calendar_title_lunar 標題欄農歷color_calendar_title_startcolor_calendar_title_endcolor_calendar_title_addition 標題欄 節日,節氣color_calendar_weekindex 年單位周序號color_calendar_weekindex_backgroundcolor_calendar_weekend 周末color_calendar_weekend_backgroundcolor_calendar_header 表頭color_calendar_header_backgroundcolor_calendar_outrange 非本月日期color_calendar_outrange_backgroundcolor_calendar_normal_gregorian 公歷日期color_calendar_normal_lunar  農歷日期color_calendar_normal_backgroundcolor_calendar_today_gregorian 今天公歷日期color_calendar_today_lunar 今天農歷日期color_calendar_today_backgroundcolor_calendar_solarterm 節氣color_calendar_festival 節日color_calendar_pressed 點擊單元格填充背景
color_calendar_focused 焦點單元格填充背景

點擊 下圖 菜單 Search 下面的圖標(New Android XML File)

選擇 Resource Type -> Values,輸入文件名 -> colors,選擇 Root Element -> resources,點擊 Finish。


定義 color_calendar_border

復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="color_calendar_border">#3fff</color>
<color name="color_calendar_title_gregorian">#cfff</color>
<color name="color_calendar_title_lunar">#cfff</color>
<color name="color_calendar_title_start">#c000</color>
<color name="color_calendar_title_end">#6000</color>
<color name="color_calendar_title_addition">#f63</color>
<color name="color_calendar_weekindex">#3fff</color>
<color name="color_calendar_weekindex_background">#369f</color>
<color name="color_calendar_weekend">#9fff</color>
<color name="color_calendar_weekend_background">#3f99</color>
<color name="color_calendar_header">#9fff</color>
<color name="color_calendar_header_background">#6000</color>
<color name="color_calendar_outrange">#3fff</color>
<color name="color_calendar_outrange_background">#3fff</color>
<color name="color_calendar_normal_gregorian">#cfff</color>
<color name="color_calendar_normal_lunar">#9fff</color>
<color name="color_calendar_normal_background">#0000</color>
<color name="color_calendar_today_gregorian">#cfff</color>
<color name="color_calendar_today_lunar">#9fff</color>
<color name="color_calendar_today_background">#06c</color>
<color name="color_calendar_solarterm">#c0c3</color>
<color name="color_calendar_festival">#cf90</color>
<color name="color_calendar_pressed">#306c</color>
<color name="color_calendar_focused">#606c</color>
</resources>

Color 的值由四部分組成:透明度,Red, Green, Blue,每部分可以用一位或兩位十六進制數字表示,透明度可以省略。

如:

  ffff 或 ffffffff 表示不透明白色,前面的透明度可以省略:fff 或 ffffff

  7f00 表示半透明的紅色

更多請查看:http://developer.android.com/guide/topics/resources/more-resources.html#Color

將顏色定義統一放在一個文件中,是出于兩點考慮,一是多處用到同一種顏色定義,這樣一處修改,相應的位置都會跟著變,另外則是為了修改方便,無須到處去找某一個文件。上面的 color_calendar_border 被表格的各種狀態填充圖形用到,而像 color_calendar_weelndex_background 只有一處用到,如果不想統一管理,也可以不在這里定義,在定義 shape 時,直接使用固定值。

創建 dimen

點擊 下圖 菜單 Search 下面的圖標(New Android XML File)




選擇 Resource Type -> Values,輸入文件名 -> dimens,選擇 Root Element -> resources,點擊 Finish。

完成的 xml 文件內容:

復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="dimen_calendar_border">1dp</dimen>

</resources>

尺寸的單位主要有六種:dp, sp, pt, px, mm, in,更多介紹請參照:http://developer.android.com/guide/topics/resources/more-resources.html#Dimension

創建 Color State List

在我們的日歷中,單元格有三種狀態,分別是無焦點,按下,有焦點,為了在不同的狀態下顯示不同的顏色,可以定義 Color State List。

關于 Color State List,更多請參照:http://developer.android.com/guide/topics/resources/color-list-resource.html。

Color State List 列表

colorlist_calendar_normal
colorlist_calendar_outrange
colorlist_calendar_weekend
colorlist_calendar_today

點擊 下圖 菜單 Search 下面的圖標(New Android XML File)

選擇 Resource Type -> Drawable,輸入文件名 -> colorlist_calendar_outrange,選擇 Root Element -> selector,點擊 Finish。

完成的 xml 文件
復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/color_calendar_pressed"/>
<item android:state_focused="true" android:color="@color/color_calendar_focused"/>
<item android:color="@color/color_calendar_outrange_background"/>
</selector>

其它也同樣創建。

創建的 drawable

shape_calendar_titlebar.xml 主畫面標題欄填充背景shape_calendar_header.xml 表頭填充背景shape_calendar_cell_weekindex.xml 年為單元的周序號單元格填充背景shape_calendar_cell_weekend.xml 周末日期單元格填充背景shape_calendar_cell_normal.xml 當月普通日期單元格填充背景shape_calendar_cell_outrange.xml 非當前月日期單元格填充背景shape_calendar_cell_today.xml 今天單元格填充背景

點擊 下圖 菜單 Search 下面的圖標(New Android XML File)

選擇 Resource Type -> Drawable,輸入文件名 -> shpae_calendar_titlebar,選擇 Root Element -> shape,點擊 Finish。

輸入 shape 定義

復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="3dp" />
<gradient android:angle="90"
android:startColor="@color/color_calendar_title_start"
android:endColor="@color/color_calendar_title_end"
/>
</shape>

這段定義代碼會幫我們生成一個圓角矩形,填充顏色是上下漸變的。

radius = 圓角大小

angle = 漸變填充方向(45的位數,0-360,90 表示從上往下漸變填充)

startColor, endColor = 填充的起始與終止顏色定義

其它的也按此一一創建,但表格的填充矩形,不要圓角,刪除 radius 或設為 0

如:shape_calendar_cell_outrange.xml

復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorlist_calendar_outrange" />
<stroke android:width="@dimen/dimen_calendar_border"
android:color="@color/color_calendar_border" />
</shape>

solid = 填充色,這里用前面定義的 color state list,來實現不同狀態下,填充不同顏色。

stroke = 矩形邊框,width = 邊框線粗細, color = 邊框線顏色

創建 style

打開 res/styles.xml,添加樣式定義。由于樣式與畫面設計相關,在我們設計界面時,還要相應調整,所以在使用時,一一添加。這里給出一個 sample:

復制代碼 代碼如下:

<resources xmlns:android="http://schemas.android.com/apk/res/android">

<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

<style name="style_calendar_title">
<item name="android:background">@drawable/shape_calendar_titlebar</item>
</style>

<style name="style_calendar_title_gregorian">
<item name="android:textSize">36sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/color_calendar_title_gregorian</item>
<item name="android:layout_marginLeft">25dp</item>
</style>
... ...
</resources>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
538国产精品一区二区免费视频| 欧美亚洲一级片| 一区二区三区四区在线观看视频| 97超级碰碰碰| 欧美日韩国产成人在线| 91高清免费视频| 不卡伊人av在线播放| 日韩一区二区久久久| 亚洲欧洲激情在线| 国产视频久久网| 成人午夜两性视频| 国产精品va在线| 激情亚洲一区二区三区四区| 亚洲91精品在线观看| 91精品国产电影| 欧美国产日韩精品| 国产亚洲成精品久久| 色与欲影视天天看综合网| 欧美在线一区二区三区四| 亚洲高清在线观看| 国产日韩欧美在线看| 亚洲美女精品成人在线视频| 亚洲成人黄色在线| 亚洲欧洲日产国码av系列天堂| 国产精品久久久久久久9999| 在线电影欧美日韩一区二区私密| 在线免费观看羞羞视频一区二区| 国产精品久久77777| 欧美精品在线观看91| 一本大道香蕉久在线播放29| 国产精品九九九| 亚洲精品久久久久中文字幕欢迎你| 日本一区二区在线免费播放| 日韩免费在线视频| 国产亚洲激情在线| 成人天堂噜噜噜| 国产精品亚洲网站| 久久这里只有精品99| 亚洲精品在线不卡| 亚洲成人网久久久| 久久精品国产亚洲一区二区| xxxxx91麻豆| 亚洲一区久久久| 中文字幕v亚洲ⅴv天堂| 欧美精品午夜视频| 欧美激情videoshd| 国产一区二区在线播放| 日韩av大片免费看| 久久91亚洲精品中文字幕| 亚洲男人天堂视频| 91黑丝在线观看| 欧美中文在线免费| 亚洲另类欧美自拍| 日韩av电影在线网| 国产精品99久久99久久久二8| 欧美成在线观看| 狠狠色狠狠色综合日日小说| 久久久久久噜噜噜久久久精品| 色99之美女主播在线视频| 国产精品揄拍一区二区| 久久国产精品久久国产精品| 精品亚洲精品福利线在观看| 成人免费看吃奶视频网站| 91中文字幕在线| 午夜精品蜜臀一区二区三区免费| 欧美自拍视频在线| 成人黄色av免费在线观看| 国产午夜精品一区理论片飘花| 成人免费观看网址| xxxxxxxxx欧美| 国产精品第1页| 亚洲欧美日韩网| 国产精品午夜视频| 精品美女永久免费视频| 91精品免费看| 国产成人aa精品一区在线播放| 亚洲国产另类 国产精品国产免费| 中文字幕亚洲欧美在线| 91免费看国产| 91综合免费在线| 成人a视频在线观看| 国产91精品视频在线观看| 精品国产网站地址| 国产精品日韩欧美综合| 欧美片一区二区三区| 亚洲国产精品va在线观看黑人| 亚洲免费人成在线视频观看| 久久久国产精品亚洲一区| 国产精品久久久久久婷婷天堂| 亚洲第一福利在线观看| 国产免费久久av| 成人字幕网zmw| 久久资源免费视频| 在线观看国产成人av片| 97色在线视频| 成人妇女免费播放久久久| 国产精品草莓在线免费观看| 日本高清+成人网在线观看| 亚洲美女精品成人在线视频| 国产伊人精品在线| 亚洲精品福利视频| 欧美激情图片区| 欧美一性一乱一交一视频| 国产精品亚洲精品| 久久亚洲春色中文字幕| 久久久久久久电影一区| 97久久精品在线| 激情久久av一区av二区av三区| 国产欧美日韩精品丝袜高跟鞋| 欧美视频第一页| 国产精品激情av电影在线观看| 亚洲欧美一区二区三区在线| 亚洲一区二区三区四区视频| 国产精品极品在线| 97视频在线观看网址| 日韩h在线观看| 青青草原成人在线视频| 久久久久在线观看| 久久91精品国产91久久跳| 欧美高清电影在线看| 色哟哟入口国产精品| 日韩精品电影网| 欧美性视频在线| 欧美一级电影久久| 91久久精品国产91久久| 国模极品一区二区三区| 国产一区二区三区在线观看视频| 日本精品久久电影| 中文字幕日韩av综合精品| 亚洲第一天堂无码专区| 97超碰国产精品女人人人爽| 亚洲日本中文字幕| 久久影院免费观看| 亚洲免费一级电影| 国产成人一区二区| 姬川优奈aav一区二区| 成人情趣片在线观看免费| 精品国产91久久久| 日韩成人黄色av| 久久99久久久久久久噜噜| 国产在线98福利播放视频| 国产一区二区三区免费视频| 亚洲国产黄色片| 日韩在线欧美在线| 日本在线精品视频| 久久久之久亚州精品露出| 国产精品视频精品视频| 性色av一区二区三区在线观看| 粉嫩老牛aⅴ一区二区三区| 欧美理论电影在线播放| 日韩美女视频中文字幕| 美女精品久久久| 日韩电影在线观看永久视频免费网站| 国产亚洲一级高清| 亚洲男女性事视频| 日韩在线免费av| 欧美激情二区三区| 国内精品400部情侣激情| 国产精品美女久久| 欧美激情一区二区久久久| 日本a级片电影一区二区| 综合激情国产一区| 久久精品视频一| 俺也去精品视频在线观看|