Android MDC 系列文章:

成都創(chuàng)新互聯(lián)公司成立十年來(lái),這條路我們正越走越好,積累了技術(shù)與客戶(hù)資源,形成了良好的口碑。為客戶(hù)提供網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名申請(qǐng)、網(wǎng)絡(luò)營(yíng)銷(xiāo)、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀(guān)、功能強(qiáng)大、用戶(hù)體驗(yàn)好、性?xún)r(jià)比高、打開(kāi)快等等,這些對(duì)于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)公司通過(guò)對(duì)建站技術(shù)性的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究為客戶(hù)提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶(hù),共同發(fā)展進(jìn)步。
這篇文章將介紹 Dialogs 組件的功能和API。要了解如何處理Android的Material Components的初始設(shè)置(包括Gradle依賴(lài)關(guān)系和創(chuàng)建應(yīng)用程序主題),請(qǐng)參閱我的原始文章:
為Android設(shè)置Material Components主題
對(duì)話(huà)框是組件,通常帶有模式窗口,顯示在應(yīng)用程序內(nèi)容的前面。它們用于告知用戶(hù)可能包含關(guān)鍵信息和/或需要做出決定的任務(wù)。它們有目的地打斷電流,并一直顯示在屏幕上,直到被解散或采取措施為止,因此應(yīng)謹(jǐn)慎使用。
從設(shè)計(jì)的角度來(lái)看,可以在不同的場(chǎng)景中使用三種主要類(lèi)型的對(duì)話(huà)框:
上面所有這些都具有共同的特征:遮蓋應(yīng)用程序內(nèi)容的背景稀松布(可以選擇輕按以關(guān)閉對(duì)話(huà)框)和表面容器。
注意:存在第四種類(lèi)型: 全屏對(duì)話(huà)框 。為此, 官方文檔 建議使用 *DialogFragment* 和資源限定符一起確定其顯示方式。這不在本文的討論范圍之內(nèi),因此不會(huì)涉及。
可以使用來(lái)實(shí)現(xiàn)所有上述對(duì)話(huà)框類(lèi)型 MaterialAlertDialogBuilder 。該構(gòu)建器類(lèi) AlertDialog 使用Material Design規(guī)范和主題來(lái)配置和實(shí)例化。
顯示對(duì)話(huà)框的基本方法如下:
配置更改(例如設(shè)備旋轉(zhuǎn))后,上述方法將不會(huì)保留對(duì)話(huà)框。為了實(shí)現(xiàn)這一點(diǎn),我們需要花一段 DialogFragment 時(shí)間使用 MaterialAlertDialogBuilder 來(lái)提供 Dialog :
DialogFragment 可以使用 導(dǎo)航體系結(jié)構(gòu)組件 顯示,也可以通過(guò) Fragment 或 Activity 通過(guò)以下方式手動(dòng)顯示:
可以通過(guò)將參數(shù)傳遞給來(lái)實(shí)現(xiàn)上面(和更多)三種對(duì)話(huà)框中列出的所有特征 MaterialAlertDialogBuilder 。下面列出了其中一些。
注意:在以下大多數(shù)情況下,將使用硬編碼值。該構(gòu)建器還提供資源ID的重載。
注意:對(duì)話(huà)框的中間區(qū)域可以被支持文本或一組特定類(lèi)型的項(xiàng)目占用。這些不能合并。
存在幾個(gè)主題疊加層,用于更改對(duì)話(huà)框的總體布局。這些主題覆蓋變體繼承自 ThemeOverlay.MaterialComponents.MaterialAlertDialog ,每個(gè)都有一個(gè)可選的后綴:
實(shí)施全局自定義Material AlertDialog 主題疊加層時(shí),請(qǐng)?jiān)谀膽?yīng)用程序主題中使用 materialAlertDialogTheme 屬性引用它。
另外,還有一個(gè)輔助 MaterialAlertDialogBuilder 構(gòu)造函數(shù),它接受覆蓋的主題資源ID:
可以使用三個(gè)“材料主題”子系統(tǒng)為主題設(shè)置“材料警報(bào)”對(duì)話(huà)框: 顏色 , 版式 和 形狀 。我們已經(jīng)在上面的 “選擇主題疊加層” 部分中顯示了要使用 的主題疊加層 。除此之外, AlertDialog 可以通過(guò)擴(kuò)展樣式并使用屬性 在 主題疊加層中引用自定義樣式。 MaterialAlertDialog.MaterialComponents``alertDialogStyle
有沒(méi)有具體的屬性自定義在一個(gè)對(duì)話(huà)框中使用的顏色,但 colorPrimary , colorSecondary , colorSurface 和各自的“關(guān)于”在您的應(yīng)用程序使用的主題會(huì)自動(dòng)調(diào)整對(duì)話(huà)框顏色顏色改變時(shí)。
對(duì)話(huà)框文本元素將采用 fontFamily 您在應(yīng)用程序主題中定義的屬性。操作按鈕的樣式將根據(jù) textAppearanceButton 您在應(yīng)用主題中設(shè)置的樣式進(jìn)行設(shè)置。
在主題疊加層中,您還可以使用 materialAlertDialogBodyTextStyle 屬性為正文文本專(zhuān)門(mén)設(shè)置樣式。
可以使用該 shapeAppearance 屬性自定義對(duì)話(huà)框背景的形狀。默認(rèn)為 shapeAppearanceMediumComponent 。
我希望這篇文章對(duì)對(duì)話(huà)框以及如何在您的Android應(yīng)用中使用對(duì)話(huà)框提供了一些見(jiàn)識(shí)。如果您有任何疑問(wèn),想法或建議,那么我很樂(lè)意收到您的來(lái)信!
在Twitter上找到我 @ricknout
參考資料:
美團(tuán)Android自動(dòng)化之旅—生成渠道包
Android批量打包提速
AndroidMultiChannelBuildTool
背景
隨著發(fā)版需要,每次發(fā)版所需渠道包越來(lái)越多(現(xiàn)在差不多有一百個(gè)左右了),正常gradle打包由于耗時(shí)效率過(guò)低已無(wú)法滿(mǎn)足需求,開(kāi)始了android多渠道快速打包實(shí)踐。
方法
下面主要介紹兩種快速打包的方式:
1、類(lèi)似美團(tuán)的方式,在META-INF中寫(xiě)入渠道名的空文件,用于讀取空文件。 美團(tuán)Android自動(dòng)化之旅—生成渠道包
2、在apk末尾動(dòng)態(tài)寫(xiě)入渠道信息。 一種動(dòng)態(tài)為apk寫(xiě)入信息的方案
其實(shí)這兩種方式都是同一個(gè)原理,替換以前從manifest中讀取渠道號(hào)的方式,而使用新的獲取方式(渠道號(hào)如何寫(xiě)入就如何讀取)。
所以這首先需要客戶(hù)端(重要!):
1、統(tǒng)一應(yīng)用中獲取渠道的方式并替換之前的(最好兼容)。
2、注意第三方SDK渠道號(hào)的傳入,比如友盟sdk,否則第三方會(huì)使用默認(rèn)從manifest中讀取的方式。
下面介紹一種已經(jīng)測(cè)試過(guò)的方法(git上開(kāi)源項(xiàng)目 AndroidMultiChannelBuildTool )
1、安裝環(huán)境由于腳本環(huán)境是使用python語(yǔ)言,所以需要我們 安裝環(huán)境 。
2、導(dǎo)入項(xiàng)目導(dǎo)入開(kāi)源項(xiàng)目 AndroidMultiChannelBuildTool ),并把想要批量打包的apk文件拷貝到PythonTool目錄下(與py同級(jí)),運(yùn)行py腳本即可打包完成。
以上基本實(shí)現(xiàn)快速打包,經(jīng)過(guò)測(cè)試一分鐘百十個(gè)無(wú)壓力。另外需要注意這種方式只適用于打包需求一致渠道號(hào)不同,不適用特殊定制渠道。
備注:9月21日補(bǔ)充快速打包java版本,詳見(jiàn) AndroidMultiChannelBuildTool-Java-master
筆者最近實(shí)踐了利用openlayers在android app中實(shí)現(xiàn)離線(xiàn)地圖應(yīng)用,本文記錄了筆者實(shí)踐的思路。
1、加載本地的地圖瓦片;
2、GPS定位;
3、疊加部件(矢量)圖層;
android端用webview加載在線(xiàn)頁(yè)面或離線(xiàn)的html頁(yè)面都是沒(méi)問(wèn)題的,同時(shí),android原生與JS之間可以互相調(diào)用。這一部分不是本文的重點(diǎn),參考資料如下:
筆者想到ol加載地瓦片地圖時(shí),可以用tileUrlFunction返回一個(gè)瓦片的鏈接,例如:
本文獻(xiàn)給大連機(jī)場(chǎng),感謝您延誤航班,使我有時(shí)間有耐心寫(xiě)完本文,謝謝。
輸入如下命令
之后就進(jìn)入了容器shell命令界面
git clone
進(jìn)入EmptyProject文件夾,輸入如下命令
輸入如下命令
等待命令執(zhí)行完成(第一次會(huì)比較慢),最終apk地址 app/build/outputs/apk/release/app-release.apk
至此我們完成了在docker上搭建了android打包編譯環(huán)境,并成功編譯出了apk文件。
新聞名稱(chēng):android實(shí)踐,Android應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)
路徑分享:http://chinadenli.net/article40/dsgdhho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、微信小程序、動(dòng)態(tài)網(wǎng)站、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)