Theme在Dailog中的使用

2021-08-21 15:40:33 字數 3700 閱讀 4223

注意:自定義的dialog可以如下圖一樣alertdialog.builder的構造器,如果dialog是自定義的,那麼一定要在自定義裡面構造器中傳入int theme,然後構造器super(context,theme);

alertddialog.builder builder = new alertdialog.builder(dialogactivity.this,alertdialog.theme_traditional);//傳統主題

alertdialog.builder builder = new alertdialog.builder(dialogactivity.this);//傳統主題

builder builder= new alertdialog.builder(dialogactivity.this,alertdialog.theme_holo_dark);//使用深色背景 主題

builder builder = new alertdialog.builder(dkalogactivity.this,alertdialog.theme_holo_light);//使用淺色背景 主題

builder builder = new alertdialog.builder(dialogactivity.this,alertdialog.theme_device_default_dark);//使用預設裝置 深色主題

alertdialog.builder builder = new alertdialog.builder(dialogactivity.this,alertdialog.theme_device_default_night);//使用預設裝置 淺色主題

【總結】

想要實現alertdialog的視窗背景色的自定義的話,可以:

1.在res/values/styles.xml中,自定義乙個style,設定背景色:?

<stylename="customalertdialogbackground"parent="@android:style/theme.holo.dialog">

<itemname="android:background">@android:color/holo_green_light

注意是(1)android:background,而不是android:windowbackground

(2)parent,此處是@android:style/theme.holo.dialog,暫時不太清楚,別的,非dialog的話,是否有效。

2.實現你自己的自定義的alertdialog類,其中建構函式中,把theme傳給super的alertdialog:?

publicclass***alertdialogextendsalertdialog

3.建立自定義alertdialog類時,把對應的之前自己的style傳%g9��進去:?

***alertdialog ***dialog =new***alertdialog(yourcontext, r.style.customalertdialogbackground);

如此,即可。

注意:(1)customalertdialogbackground是我們自定義的那個style。

自定義圓形progressbar:

效果圖:

圓形progressbar的樣式主要有以下幾個,我們這裡以progressbarstylelarge為例進行樣式的修改,其他的類似。

首先看一下style="?android:attr/progressbarstylelarge"的原始碼,在 \frameworks\base\core\res\res\values\styles.xml

看到這一行@android:drawable/progress_large_white它的原始碼,在 \frameworks\base\core\res\res\drawable\progress_large_white.xml

看到這一行 android:drawable="@drawable/spinner_white_76" 我們就明白了,原來它在這裡放了一張,進行旋轉。

接下來我定義自己的progressbarstyle:

首先我們先找一張加入我們的專案中(如一開始的效果),然後在drawable下新建progress_large.xml檔案

<?xml version="1.0" encoding="utf-8"?>

在 \value\style.xml中定義myprogressbarstylelarge

最後在progressbar中使用我們自己定義的style,android:indeterminateduration="700"指定旋轉的速度,這樣我們就可以根據自己的需要來定義progressbar的樣式。

自定義theme樣式:專案的 res / value 目錄下 建立xml檔案:mytheme.xml 內容如下

<?xml version="1.0""encoding="utf-8"?>

然後在這個基礎上實現 android:windownotitle,也就是不顯示標題欄,加上字型大小,字型顏色……

之後的使用和android自帶樣式使用方法一致。

theme樣式使用方法:

(1)將樣式**放置在應用的androidmanifest.xml即可。

格式:android:theme="@android:styne/這裡寫樣式** "

比如:android:theoe="@android:style/theme.dialog"  

或者(2)在oncreate()呼叫之前被呼叫settheme()函式:

settheme(r.style.theme_dialog);

Android中的主題 Theme

所以同樣是v7相容包,會有api版本號不同的區別,要注意。更多主題 以下都是指 包含 中來看就可以,提示有就有,沒有就沒有。black 黑色風格 light 光明風格 dark 黑暗風格 daynight 白晝風格 wall 牆紙為背景 translucent 透明背景 panel 平板風格 dia...

BaseSpider在scrapy中的使用

scrapy中繼承自basespider的爬蟲是不被推薦的,如下所示 python view plain copy from scrapy.spider import basespider class negativecommentscrapy basespider 檢視scrapy的原始碼,在sc...

Android 中的Theme和Style使用

android 中的theme和style使用,還是比較簡單的。1 首先在res values styles.xml的resource中定義三個樣式,分別為 然後在res layout檔案下的activity main.xml中的控制項中引用剛才定義的style。android id id text...