1. 程式人生 > >Android之Palette動態決定UI色彩風格

Android之Palette動態決定UI色彩風格

根據圖片來決定標題的顏色和標題欄的背景色,這樣視覺上更具有衝擊力和新鮮感,而不像統一色調那樣呆板。


大家想知道這個效果如何實現的嗎?

學習Palette輕輕鬆鬆搞定此效果哦~!

Palette是什麼?

它能讓你從影象中提取突出的顏色。這個類能提取以下突出的顏色:

Vibrant(充滿活力的)

Vibrant dark(充滿活力的黑)

Vibrant light(充滿活力的亮)

Muted(柔和的)

Muted dark(柔和的黑)

Muted lighr(柔和的亮)

如何使用?

你可以在Palette類中使用getter方法來從檢索突出的顏色,比如Palette.getVibrantColor。

如果是Android Studio 要在你的專案中使用Palette類,增加下面的Gradle依賴到你的程式的模組(module)中:

  1. dependencies {  
  2.     ...  
  3.     compile 'com.android.support:palette-v7:21.0.+'
  4. }  

如果是Eclipse首先我們找到sdk/extras/android/support/v7/palette/libs/android-support-v7-palette.jar匯入我們的工程。

然後使用generateAsync方法傳入當前圖片的bitmap,在傳入一個監聽,在監聽裡面我們拿到圖片上顏色充滿活力的顏色,最後設定標題背景和字型的顏色,程式碼如下:

  1. Palette.generateAsync(bitmap,  
  2.         new Palette.PaletteAsyncListener() {  
  3.     @Override
  4.     publicvoid onGenerated(Palette palette) {  
  5.          Palette.Swatch vibrant =  
  6.                  palette.getVibrantSwatch();  
  7.           if (swatch != null) {  
  8.               // If we have a vibrant color
  9.               // update the title TextView
  10.               titleView.setBackgroundColor(  
  11.                   vibrant.getRgb());  
  12.               titleView.setTextColor(  
  13.                   vibrant.getTitleTextColor());  
  14.           }  
  15.     }  
  16. }); 

相關推薦

AndroidPalette動態決定UI色彩風格

根據圖片來決定標題的顏色和標題欄的背景色,這樣視覺上更具有衝擊力和新鮮感,而不像統一色調那樣呆板。 大家想知道這個效果如何實現的嗎? 學習Palette輕輕鬆鬆搞定此效果哦~! Palette是什麼? 它能讓你從影象中提取突出的顏色。這個類能提取以下突出的顏色: Vibrant(充滿活力的)

AndroidJNI動態註冊native方法和JNI資料簡單使用

1、介紹JNI註冊方式 JVM 查詢 native 方法有兩種方式:     1)、按照 JNI 規範的命名規則(靜態註冊)    2) 、呼叫 JNI 提供的 RegisterNatives 函式,將本地函式註冊到 JVM 中(動態註冊) 2、動態註冊的步驟

AndroidTextView動態設定字型顏色大小(二)

 之前我們寫過怎麼在TextView裡程式碼修改字型顏色怎麼修改,那是通過 SpannableString 渲染來修改的今天介紹一種在string.xml中修改字型顏色的方法第一步:在string.xm

Android獲取動態懸浮窗許可權

需要兩步: 一、在清單配置檔案中宣告許可權: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 二、程式碼申請許可權: private static fina

AndroidFragment動態新增和移除Fragment

fragment_demo.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

AndroidMenu動態改變文字

@Override//這裡getItem()這個卻是通過item的索引 public boolean onPrepareOptionsMenu(Menu menu) { // TODO Auto-generated method stub if(isSelect) m

從零開始學Android AutoCompleteView 動態匹配輸入的內容(像搜尋引擎上的匹配)

1.AutoCompleteTextView屬性:   1>動態匹配輸入的內容   2>android:completionThreshold="n" -- 輸入n個字元開始匹配  在ac

Android官方開發文件Training系列課程中文版:使用Fragment構建動態UI構建靈活的UI

當設計應用程式時需要支援尺寸較大的寬屏裝置時,可以基於可用的螢幕空間在不同的佈局中配置並重新使用fragment來提升使用者體驗。 舉個例子,手持裝置在同一時間可能只適合展示一個介面,相反的,你可能希望在平板裝置上一邊一個Fragment,因為平板有更寬的

AndroidUI--打造12種Dialog對話框

指正 ati 整體 port login ast select log inflater 最近有空,來把app中常用到的Dialog對話框寫一篇博客,在app中很多地方都會用到Dialog對話框,今天小編我就給大家介紹Dialog對話框。 先看看效果圖:

Android逆向旅---動態方式破解apk前奏篇 Eclipse動態除錯smail原始碼

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android 動態許可權的新增

       對於安卓 6.0 之前許可權的處理是標膠簡單的,只需要在清單檔案中加入自己所需要的許可權就可以了,但是隨著谷歌對許可權的稽核變的嚴厲起來之後,在  targetSdkVersion 23 以上就需要動動態申請許可權了,下面我就來介紹一下怎麼動態申請許可權,其中包

AndroidAwesome-UI

專案說明 Android UI 練習, 不定期更新~ 歡迎star and fork ! 若文中部分Gif圖片無法預覽, 可以跳轉到專案ReadMe中檢視 專案中已宣告參考連結~ 說明: 專案中本來有部分自定義UI控制元件公共部分還可抽取, 但是為了方便獨立學

Android逆向旅---動態方式破解apk終極篇(加固apk破解方式)

一、前言 今天總算迎來了破解系列的最後一篇文章了,之前的兩篇文章分別為: 第一篇:如何使用Eclipse動態除錯smali原始碼  第二篇:如何使用IDA動態除錯SO檔案 現在要說的就是最後一篇了,如何應對Android中一些加固apk安全防護,在之前的兩篇破

Android逆向旅---動態方式破解apk進階篇 IDA除錯so原始碼

                一、前言今天我們繼續來看破解apk的相關知識,在前一篇:Eclipse動態除錯smali原始碼破解apk 我們今天主要來看如何使用IDA來除錯Android中的native原始碼,因為現在一些app,為了安全或者效率問題,會把一些重要的功能放到native層,那麼這樣一來,我們

Xamarin.AndroidUI Test簡單入門

一、前言 相信Xamarin免費之後會有更多的人加入進來,這也是我一直以來最希望看到的事,更多的人加入到這個社群中,為這個社群貢獻自己的一份力量,國內當前還沒有一個比較正規或者說是名氣比較大的Xamarin社群,當然這並不是憑靠一個人就能夠完成的,這需要大家一起共享一份力量。因為公司今年採購了Test Cl

Android動態申請許可權(API23以上需求)

1 package com.dragon.android.permissionrequest; 2 3 import android.Manifest; 4 import android.content.DialogInterface; 5 import android.co

Android逆向旅---動態方式破解apk前奏篇(Eclipse動態除錯smail原始碼)

一、前言今天我們開始apk破解的另外一種方式:動態程式碼除錯破解,之前其實已經在一篇文章中說到如何破解apk了:Android中使用靜態方式破解Apk  主要採用的是靜態方式,步驟也很簡單,首先使用ap

Android動態修改system/etc目錄下檔案的一種實現方式-SELinux

在沒有root的前提下,system分割槽為只讀,若要動態修改該分割槽下的檔案,可以按照下面流程實現: 1.寫執行指令碼,這裡以修改system/etc/hosts檔案為例,在/device/mediatek/mt67xx目錄下建立名為modifyhosts.sh的檔案,檔

自學AndroidUI元件:(二)Fragment的基本使用(上)

本篇為UI元件的第二篇,主要探討關於Fragment的基本使用,包括簡單的原理以及建立、修改、刪除等操作。 在本篇文章中,你將瞭解到: 1.什麼是Fragment。 2.Fragmen

Android應用安全外部動態載入DEX檔案風險

1. 外部動態載入DEX檔案風險描述 Android 系統提供了一種類載入器DexClassLoader,其可以在執行時動態載入並解釋執行包含在JAR或APK檔案內的DEX檔案。外部動態載入DEX檔案的安全風險源於:Anroid4.1之前的系統版本容許Android應用將動態載入的DEX檔案儲存