當前位置:首頁 » 安卓系統 » android滑動圖片輪播

android滑動圖片輪播

發布時間: 2025-08-17 10:58:54

⑴ app啟動圖標設計規范-技術干貨:ApplewatchAPP設計規范

androidapp界面設計規范(dpi,dp,px等)

PPI(Pixelsperinch):每英寸所擁有的像素數,即像素密度。

DPI(dotsperinch):即每英寸上,所能印刷的網點數,一般稱為像素密度。ppi計算公式:ppi=屏幕對角線像素數/屏幕對角線英寸數,通過勾股定理計算屏幕對角線像素數。

ScreenSize(屏幕尺寸):手機屏幕尺寸大小,如3英寸、4英寸、4.3英寸、5.7英寸,指的是對角線的長度。

DIP(deviceindependentpixel):即dip/dp,設備獨立像素。1px=1dp

density(由dpi決定)

Resolution(解析度):指手機屏幕垂直和水平方向上的像素個數。eg解析度480

800,指該設備垂直方向有800個像素點,水平方向有480個像素點。

px(Pixel像素):相同像素的ui,在不同解析度的設備上效果不同。在小解析度設備上會放大導致失真,大解析度上被縮小。

AndroidDesign里把主流設備的dpi歸成了四個檔次:

120dpi、160dpi、240dpi、320dpi

,具體見如下表格。

實際開發當中,我們經常需要對這幾個尺寸進行相互轉換(比如先在某個解析度下完成設計,然後縮放到其他尺寸微調後輸出),一般按照dpi之間的比例即2:1.5:1:0.75來給界面中的元素來進行尺寸定義。

也就是說如果以160dpi作為基準的話,只要尺寸的DP是4的公倍數,XHDPI下乘以2,HDPI下乘以1.5,LDPI下乘以0.75即可滿足所有尺寸下都是整數pixel。但假設以240dpi作為標准,那需要DP是3的公倍數,XHDPI下乘以1.333,MDPI下乘以0.666,LDPI下除以2。而以LDPI和XHDPI為基準就更復雜了。同時第一款Android設備(HTC的T-MobileG1)是屬於160dpi的。鑒於以上各種原因,

標准dpi=160

谷歌官方對dp的解釋如下:

,-independentway.

Thedensity-,"medium"densityscreen.Atruntime,,asnecessary,.:

px=dp*(dpi/160).

Forexample,ona240dpiscreen,1dpequals1.5physicalpixels.'sUI,.

簡單來說,以160dpi的設備為准,該設備上1dp=1px;如果屏幕密度大,1dip代表的px就多,比如在320dpi的屏幕上,1dip=2px(即1dp代表2個像素)。在app開發時,最好用dp來做界面的布局,以保證適配不同屏幕密度的手機。

dp和px的換算公式:

我的理解,該公式表示px的數值等於dp的數值*(設備dpi/160)

注意,px、dp是單位,但density沒單位。

applyDimension的源碼如下,可參考:

android的尺寸眾多,建議使用解析度為

720x1280

的尺寸設計。這個尺寸720x1280中顯示完美,在1080x1920中看起來也比較清晰;切圖後的圖片文件大小也適中,應用的內存消耗也不會過高。

app啟動圖標為48*48dp,對應各dpi設備,圖像資源像素如下:

|mdpi|hdpi|xhdpi|xxhdpi|

|---:|---:|---:|---:|---:|

|48

48px|72

72px|94

96px|144px

144px|

操作欄圖標為32*32dp,對應各dpi設備,圖像資源像素如下:其中圖形區域尺寸是24*24dp,可參考平時ui切圖會有部分留白。

|mdpi|hdpi|xhdpi|xxhdpi|

|---:|---:|---:|---:|---:|

|32

32px|48

48px|64

64px|96px

96px|

通知欄圖標為24*24dp,對應各dpi設備,圖標像素如下:

|mdpi|hdpi|xhdpi|xxhdpi|

|---:|---:|---:|---:|---:|

|24

24px|36

36px|48

48px|72px

72px|

某些場景需要用到小圖標,大小應當是16*16dp,其中圖形區域尺寸12*12dp。

|mdpi|hdpi|xhdpi|xxhdpi|

|---:|---:|---:|---:|---:|

|16

16px|24

24px|32

32px|48px

48px|

APP界面標注及切圖注意事項

一、App屏幕適配通用知識簡介

1.標注時注意事項

一般情況要定位一個Icon只需給出上/下邊距,左/右邊距

標注圖標距離只需標到可點擊范圍外

通用型顏色、字體單獨標明一份

通用型模塊只需單獨標明一份,如導航欄

手機可視區域一般為寬度固定,長度超出邊界可滑動,所以,標注物體寬度時可按比例說明

如果要標注內容上下居中,左右居中,或等比可不標注

當繪制的是一個列表時且每一條內容一樣時,只需標注一條,如果每條內容有少許不同時,只需標明差異____糠

當交付的是一張完整圖片時,不需做機型適配,只需給高清圖(1920*1080)即可,注意進行壓縮

當背景是純色時只需給出色值(iOS使用RGB色值,Android使用16進制色值)

圖標應給出可點擊區域

若圖標在不同頁面重復出現,且尺寸相差不大,直接給出最大一份切圖,並在圓形圖標明尺寸,程序會根據需求縮放

可點擊按鈕通常要給出兩種狀態:普通/點擊(選中)

按鈕如果只是矩形、圓角矩形、圓形、橢圓形,給出尺寸和色值,可程序設置

漸變效果可通過程序實現,只需給出起始和結束色值跟范圍

2.切圖命名規范

背景:bg_

按鈕:btn_xxx_

圖片:img_

標簽:tab_

圖標:icon_

照片:pht_

導航:nav_

圖示:tip_

菜單:menu_

側欄:sidebar_

二、iOS應用屏幕適配

1.iOS究竟要是適配多少種機型,以哪款機型解析度作為設計尺寸最好

2016-3

iOS只需兼容iPhone4,完美兼容iphone5以上機型

如果按矢量圖製作設計圖按1X尺寸作圖,後期放大成2X、3X;如果按傳統的px作圖應用最大尺寸(3X)作為畫布。

以3X作為畫布(1242*2208)難記且不能整除,我們可直接以1280(640*2)作為寬度,完美縮放為1X、2X;

2X->3X以1.5來算尺寸和字型大小可得到較好效果

2.界面尺寸

設備解析度狀態欄高度導航欄高度標簽欄高度

iPhone6plus1242*2208px60px132px146px

iPhone6750*1334px40px88px98px

iPhone5/5s/5c640*1136px40px88px98px

iPhone4/4s640*960px40px88px98px

iPad3/4/Air/Air2/mini22048*1536px40px88px98px

iPad1/21024*768px20px44px49px

iPadmini1024*768px20px44px49px

導航欄背景圖中,如果考慮狀態欄背景,則背景圖尺寸為導航欄px+狀態欄px,如果只改變導航欄顏色則只需要導航欄px

3.圖標尺寸

設備AppStore程序應用主屏幕spotlight搜索標簽欄工具欄和導航欄

iPhone6plus1024*1024px180*180px144*144px87*87px75*75px66*66px

iPhone61024*1024px120*120px144*144px58*58px75*75px44*44px

iPhone5/5s/5c1024*1024px120*120px144*144px58*58px75*75px44*44px

iPhone4/4s1024*1024px120*120px144*144px58*58px75*75px44*44px

iPad3/4/Air/Air2/mini21024*1024px180*180px144*144px100*100px50*50px44*44px

iPad1/21024*1024px90*90px72*72px50*50px25*25px22*22px

iPadmini1024*1024px90*90px72*72px50*50px25*25px22*22px

按鈕切圖建議以等寬高尺寸切圖,且像素必須>=88、*88px,當本身圖片寬度或高度不足時,補充空白像素(透明像素).一般情況下,只需要普通狀態下按鈕切圖即可

(適配不建議等比放大)

4.參考文獻

友盟設備指數

APP切圖流程和APP切圖命名規范詳細完整版

APP切圖詳細規范終極指南

iOS和Android的app界面設計規范

APP界面切圖命名和文件整理規范

三、Android應用屏幕適配

1.用px作為基礎單位的缺陷

對比上圖可以知道,ppi越低圖片顯示的越大,ppi越高圖片顯示的越小,造成不同手機上顯示圖片布局不統一!

使用dp作為單位所有機子顯示統一

2.衡量一個屏幕清晰度單位————屏幕密度(dpi==ppi)

計算公式:屏幕dpi=√(屏幕長^2+屏幕寬^2)/屏幕尺寸

名稱密度代表解析度Android單位與像素換算

mdpi120dpi~160dpi320*4801dp=1px

hdpi160dpi~240dpi480*8001dp=1.5px

xhdpi240dpi~320dpi720*12801dp=2px

xxhdpi320dpi~480dpi720*1280/1080*19201dp=3px

xxxhdpi480dpi~640dpi2k~4k1dp=4px

屏幕大小啟動圖標操作欄圖標上下文圖標系統通知圖標(白色)最細筆畫

320*480px48*48px32*32px16*16px24*24px不小於2px

480*800px/480×854px/540×960px72*72px48*48px24*24px36*36px不小於3px

720*1280px96*96px64*64px32*32px48*48px不小於4px

1080*1920px144*144px96*96px48*48px72*72px不小於6px

3.究竟要適配多少種機型

2016-3

得出結論:只需適配高端的xxhdpi(720*1280/1080*1920),低端的hdpi(480*800)

4.度量單位與邊框

可觸摸控制項都是以48dp為單位的

為什麼是48dp?一般情況下,48dp在設備上的物理大小是9mm(會有一些變化)。這剛好在觸摸控制項推薦的大小范圍(7-10mm)內,而且這樣的大小,用戶用手指觸摸起來也比較准確、容易。(xxhdpi標准下為144px)

邊框注意留白界面元素之間的留白應當是8dp。

例:

5.字體排版

Roboto是Android系統的默認字體集,字體大小單位sp(可縮放像素數,scaleablepixels)

根據Android設計規范,推薦使用12、14、16、20和34號,字體粗細可調

spHDPIXHDPIXXHDPI

12sp18px24px36px:

14sp21px28px42px

16sp24px32px48px

18sp27px36px54px

20sp30px40px60px

34sp51px68px102px

(注意:字型大小要為雙數,且不可帶小數位)

6.9-patch圖製作

什麼是9-patch圖

為什麼要用9-patch格式製作圖

適應各種手機屏幕拉伸圖片需求,有效縮減圖片體積

什麼情況下使用

當發現圖片是背景時且可能拉伸被拉伸時,或圖片過大時

如何製作patch9圖

圖片外層增加一全透明像素,在透明像素區花4條純黑色邊

1.寬度可拉伸區域

2.高度可拉伸區域

3.垂直內容區域

4.水平內容區域

8.參考文獻

友盟設備指數

Android設計指南簡體中文版4.x

MaterialDesign中文版

Android設計中的.9.png

技術干貨:ApplewatchAPP設計規范

一、規范概要

1.導航形式

層級式,通過當前頁面點擊跳轉到另外頁面的形式。適合應用於復雜產品,需要層層遞進。

頁面式,頁面切換,滑動,類似輪播

AppleWatch導航形式任選其一,不得同時存在。

2.交互方式

輕觸:列表、按鈕、切換等控制項的操作

手勢:縱向輕掃,界面滾動;橫向輕掃,界面導航之間的查看;從屏幕左側邊緣向右輕掃,返回父級界面。

壓力觸控:喚出當前頁面情景菜單

實體控制項(手錶旋鈕):長頁面瀏覽,避免手指長時間輕掃界面何遮擋界面

3.色彩

使用黑色作為APP的背景色,或者深色且高斯模糊的圖片作為背景

高對比度的顏色使用於文字、圖標、界面

4文字

SF和蘋方

5.圖標

通知圖標、首屏圖標和長看圖標、短看圖標

情景圖標(App內功能圖標)

6.布局

並排放置的圖標一行不要超過三個

布局優先採用左對齊

二、設計尺寸

1.1屏幕尺寸

38mm(272*340px)

42mm(312*390px)

1.2圖標尺寸

通知圖標48PX(38mm)55px(42mm)

首屏圖標和常看圖標80px(38mm)88px(42mm)

短看圖標172px(38mm)196px(42mm)

菜單情景圖標(App內的功能圖標)

圖標大小70px,實際圖標大小46px。(38mm)

圖標大小80px,實際圖標大小54px。(42mm)

圖標線寬不得小於4px

1.3圖標

1.3.1

通知圖標,系統通知彈出的圖標

1.3.2

首屏圖標,如下圖所示。首屏圖標80px(38mm)88px(42mm)

1.3.3長看圖標,如下所示,左上角圖標。常看圖標80px(38mm)88px(42mm)

1.3.4短看圖標,如下圖所示。短看圖標172px(38mm)196px(42mm)

2.字體和文字

2.1字體

SF和蘋方

2.2文字(字型大小,常見字型大小單位是PT和PX,PT是開發單位,PX是設計單位,在@2X下換算關系1PT=2PX)

標題headline18PT

正文標題caption15PT

正文body15PT

備注、腳注、輔助文字footnote12PT、13PT

3.顏色

高對比度的顏色使用於文字、圖標、界面

1.主色,如下圖所示

2.輔助色、點睛色(控制項、按鈕)

按鈕控制項在設計中通常帶有透明度

3.字體顏色和透明度

4.布局

1狀態欄和下方圖片和列表布局間距

38mm(30px),42mm(32px)

2狀態欄和列表按鈕布局間距

38mm(11px),42mm(13px)

3狀態欄和下方文本布局間距

38mm(46px),42mm(50px)

4文字邊距和分割線按鈕列表圖片邊距

38mm和42mm邊距相同

5.圖片和按鈕到屏幕兩邊距離

38mm和42mm邊距相同

5.控制項和列表

1單行控制項和列表布局尺寸

38mm

42mm

2.雙行控制項和列表布局尺寸

2.1正文+備注

38mm

42mm

2.2雙行正文

38mm

42mm

3.三行控制項和列表布局尺寸

38mm

42mm

4.多行控制項和列表布局尺寸

38mm

42mm

5.控制項和列表類型

_

⑵ Android-自定義輪播Banner-Viewpaper2實現+貪吃蛇原點指示器+觸摸暫停輪播處理

在構建Android自定義輪播Banner的進程中,我們通過整合Viewpaper2,實現了一款更為完善的輪播組件。此組件已經集成至github倉庫,以便開發者探索和使用。

在實現過程中,我們關注了細節優化和內存管理,盡管還有待完善的細節和潛在的bug,但整體效果已接近預期。用戶界面的展示效果顯著提升,使得輪播體驗更流暢、更直觀。

具體實現步驟包括:

1. 繼承ViewGroup,以便為輪播Banner添加圓角效果。通過自定義測量和布局邏輯,確保內嵌的Viewpaper2組件內容在邊框內正確排列,最終通過重寫dispatchDraw方法,實現圓角覆蓋效果。

2. 指示器的繪制相對簡單,關鍵在於准確定位和實現動態變化效果。結合ViewPager2的OnPageChangeCallback回調,我們能夠精準計算當前頁面位置,動態調整指示器顏色和貪吃蛇效果,確保視覺體驗連貫且引人入勝。

3. 為了響應觸摸事件,停止輪播,我們利用了Viewpaper2提供的onPageScrollStateChanged回調方法。值得注意的是,外部的setTouchEvent事件對Viewpaper2無效,因此我們需直接通過回調處理觸摸事件,避免了不必要的繼承和事件重寫。

整個實現過程中,我們關注了性能、內存和顯示問題,力求提供一個功能豐富、體驗優化的輪播組件。建議在性能和內存優化上進一步完善,以提升用戶體驗。同時,考慮將此組件封裝成開源項目,與開發者社區共享,共同促進移動應用開發的進步。

總結,此輪播Banner組件已具備基礎功能,滿足項目需求,適用於多種場景。未來,我們計劃繼續優化和完善此組件庫,增加刷新功能,並進一步簡化工程模板。在此過程中,我們期待與開發者社區共同探索和創新,共同進步。

最後,作為開發者,我們應持續關注技術進步,不斷優化和創新,為用戶提供更優質的移動應用體驗。在忙碌的准備面試期間,我們仍然保持對技術的熱情和追求,希望與開發者朋友們共勉,共同成長。

⑶ Android零基礎入門第60節:日歷視圖CalendarView和定時器Chronometer

上一期學習了時鍾組件,本期繼續深入學習日歷視圖CalendarView和定時器Chronometer。日歷視圖可用於顯示和選擇日期,通過調用setOnDateChangeListener()方法可監控日期改變。常用屬性包括日期格式、基準時間等。接下來,我們將通過示常式序學習CalendarView的使用,使用指定布局文件並運行程序,可以看到日期選擇界面效果。

接下來,我們將學習Chronometer定時器,它可通過setBase()方法設置基準時間開始計數,不設置基準時間將使用調用start()方法時的時間。默認顯示時間格式為"MM:SS"或"H:MM:SS",也可自定義格式。Chronometer的重要屬性包括格式設置、開始計時、停止計時等。接下來,我們通過示常式序學習Chronometer的使用,使用指定布局文件並運行程序,可以看到定時器界面效果。

至此,關於時間和日期類組件的學習基本完成。你是否已經掌握了這些組件的使用?如果還有疑問,歡迎在下方留言討論,或加入Android零基礎入門技術討論微信群,共同成長!

版權聲明:本文版權為微信公眾號分享達人秀(ShareExpert)——鑫鱻所有,未經作者授權,不得擅自轉載。

往期總結分享:

Android零基礎入門第1節:Android的前世今生

Android零基礎入門第2節:Android系統架構和應用組件

Android零基礎入門第3節:Android開發環境入門

Android零基礎入門第4節:正確安裝和配置JDK

Android零基礎入門第5節:ADT Bundle的高效使用

Android零基礎入門第6節:SDK Manager配置優化

Android零基礎入門第7節:Android模擬器配置

Android零基礎入門第8節:編寫第一個HelloWorld應用

Android零基礎入門第9節:Android應用實戰:無需代碼也能開發

Android零基礎入門第10節:升級開發IDE:Android Studio

Android零基礎入門第11節:運行Android Studio工程

Android零基礎入門第12節:熟悉Android Studio界面

Android零基礎入門第13節:優化Android Studio開發工具

Android零基礎入門第14節:使用Genymotion加速開發

Android零基礎入門第15節:Android Studio項目結構應用

Android零基礎入門第16節:用戶界面開發基礎

Android零基礎入門第17節:文本框TextView的使用

Android零基礎入門第18節:輸入框EditText的使用

Android零基礎入門第19節:按鈕Button的基本操作

Android零基礎入門第20節:復選框CheckBox和單選按鈕RadioButton的使用

Android零基礎入門第21節:開關組件ToggleButton和Switch的應用

Android零基礎入門第22節:圖像視圖ImageView的使用

Android零基礎入門第23節:圖像按鈕ImageButton和縮放按鈕ZoomButton的使用

Android零基礎入門第24節:自定義View的簡單使用

Android零基礎入門第25節:簡單且常用的LinearLayout布局

Android零基礎入門第26節:布局對齊方式對比

Android零基礎入門第27節:正確使用padding和margin

Android零基礎入門第28節:RelativeLayout相對布局的使用

Android零基礎入門第29節:TableLayout表格布局

Android零基礎入門第30節:FrameLayout幀布局應用

Android零基礎入門第31節:AbsoluteLayout絕對布局的使用

Android零基礎入門第32節:新推出的GridLayout網格布局

Android零基礎入門第33節:Android事件處理概述

Android零基礎入門第34節:監聽事件處理

Android零基礎入門第35節:回調事件處理

Android零基礎入門第36節:系統事件處理

Android零基礎入門第37節:ListView組件介紹

Android零基礎入門第38節:Adapter組件介紹

Android零基礎入門第39節:ListActivity和自定義列表項

Android零基礎入門第40節:自定義ArrayAdapter

Android零基礎入門第41節:使用SimpleAdapter

Android零基礎入門第42節:自定義BaseAdapter

Android零基礎入門第43節:ListView優化和列表首尾使用

Android零基礎入門第44節:ListView數據動態更新

Android零基礎入門第45節:GridView網格視圖

Android零基礎入門第46節:Spinner列表選項框

Android零基礎入門第47節:AutoCompleteTextView自動完成文本框

Android零基礎入門第48節:ExpandableListView可折疊列表

Android零基礎入門第49節:AdapterViewFlipper圖片輪播

Android零基礎入門第50節:StackView卡片堆疊

Android零基礎入門第51節:ProgressBar進度條

Android零基礎入門第52節:自定義ProgressBar炫酷進度條

Android零基礎入門第53節:SeekBar拖動條和RatingBar星級評分條

Android零基礎入門第54節:ViewSwitcher視圖切換組件

Android零基礎入門第55節:ImageSwitcher和TextSwitcher

Android零基礎入門第56節:ViewFlipper翻轉視圖

Android零基礎入門第57節:DatePicker和TimePicker選擇器

Android零基礎入門第58節:NumberPicker數值選擇器

Android零基礎入門第59節:Clock時鍾組件

掃碼了解更多內容:

熱點內容
我的世界國服pvp伺服器ip地址 發布:2025-08-17 19:45:35 瀏覽:497
聊城電腦伺服器 發布:2025-08-17 19:34:59 瀏覽:407
互聯網編程語言 發布:2025-08-17 19:18:40 瀏覽:851
python主流框架 發布:2025-08-17 19:11:51 瀏覽:176
開源海量文件存儲 發布:2025-08-17 19:07:05 瀏覽:193
帶密碼的發票有什麼用 發布:2025-08-17 18:53:18 瀏覽:689
免費php模板下載 發布:2025-08-17 18:47:31 瀏覽:240
ubuntuphp開發 發布:2025-08-17 18:34:44 瀏覽:499
c語言小程序游戲 發布:2025-08-17 18:23:09 瀏覽:802
ios今日頭條源碼 發布:2025-08-17 18:23:02 瀏覽:311