1. 程式人生 > >Android 在程式碼裡動態設定ProgressBar的顏色

Android 在程式碼裡動態設定ProgressBar的顏色

設定ProgressBar滑動的顏色,其函式為:progressBar.setProgressDrawable(Drawable d);

但是,設定一個普通的Drawable是沒有用的,ProgressBar會把該圖片平鋪。

正確的方式是:設定一個ClipDrawable,ClipDrawable 是對一個Drawable進行剪下操作,可以控制這個drawable的剪下區域,以及相相對於容器的對齊方式,android中的進度條就是使用一個ClipDrawable實現效果的,它根據level的屬性值,決定剪下區域的大小。

程式碼如下:

ClipDrawable d = new ClipDrawable(new ColorDrawable(Color.YELLOW), Gravity.LEFT, ClipDrawable.HORIZONTAL);
progressBar.setProgressDrawable(d);

相關推薦

Android程式碼動態設定ProgressBar顏色

設定ProgressBar滑動的顏色,其函式為:progressBar.setProgressDrawable(Drawable d); 但是,設定一個普通的Drawable是沒有用的,ProgressBar會把該圖片平鋪。 正確的方式是:設定一個ClipDrawable,

Android 程式碼動態設定TextView/Button等的文字顏色Seletor

前言 今天遇到個很蛋疼的問題,下載時,多個按鈕共用一個button,也就是不同下載狀態下,button的背景以及字型顏色都不一樣,結果自己挖了坑把自己埋進去了。 以下是我在/res/color資

Android程式碼動態設定文字顏色Seletor中getColor與getColorStateList方法的區別(坑)

當我們需要動態的在程式碼裡給文字設定顏色,而這個文字具有點選態的時候,我們經常會遇到怎麼設定都不好使的情況,接下來從踩坑、填坑,到最後分析原因整個流程詳細介紹一下這種case。 下面是我們在/res/color資料夾裡給元素設定的文字顏色seletor:***

Android之TextView動態設定字型顏色大小(二)

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

Android 程式碼動態設定字型大小-TextView.SetTextSize()

關鍵程式碼  - setTextSize(TypedValue.COMPLEX_UNIT_PX,15); //22畫素  - setTextSize(TypedValue.COMPLEX_UNIT_SP,15); //22SP  - setTextSize(Type

Android程式碼動態設定圖片的大小(自動縮放),位置

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" andr

Android TextView動態設定字型顏色選擇器

Android 在用字型顏色選擇器時: 一種在xml檔案中直接設定textColor通常會用這種情況,這種情況字型顏色Selector挺好用的: android:textColor="@color/selector_delete_color" 然而,在程式碼中設定字型顏色選擇器

android 在java程式碼動態設定控制元件的位置和設定片大小

需要動態改變佈局裡面控制元件的相對位置 如: 1.改變RelativeLayout佈局裡面某個控制元件的layout_toLeftOf 的屬性 RelativeLayout.Layoutparams params = (RelativeLayout.LayoutParams)view

Android動態設定字型顏色

步驟:1.在values資料夾下的strings.xml檔案裡新增顏色:比如 <color name="ccc">#ccc</color> 2.如果你直接這樣寫: tv.setTextColor(R.color.ccc); 理論上是不行的,不過我發現

程式碼動態設定ProgressBar進度條樣式

1、設定水平顯示進度 pb = new ProgressBar(activity, null, android.R.attr.progressBarStyleHorizontal); 2、 設定背景顏色 pb.setBackgroundCol

程式碼動態設定相對佈局控制元件的位置

RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) imageButtonCursor.getLayoutParams(); layoutParams.addR

ProgressBar動態設定進度顏色

這裡寫的是改變橫向進度條形式的ProgressBar顏色 主要功能程式碼如下 //獲取progressBar的LayerDrawable,LayerDrawablle是我們寫layer-list生成的多層級的drawable LayerDrawable drawable

Unity3D-程式碼動態設定Material引數

我們知道在Unity中可以在程式碼中動態地改變Material監視面板中的引數,如改變數值大小或替換貼圖。常用的API有:SetColor , SetFloat, SetInt, SetTexture.然而今天在設定一個StandardShader的材質貼圖的時候,發現設定了

Unity-程式碼動態設定Material引數

我們知道在Unity中可以在程式碼中動態地改變Material監視面板中的引數,如改變數值大小或替換貼圖。常用的API有:SetColor , SetFloat, SetInt, SetTexture. 然而今天在設定一個StandardShader的材質貼圖

Android 程式碼動態為RadioGroup新增RadioButton

在程式碼中new出RadioButton,並new出佈局引數LayoutParams,通過layoutParams為radioButton設定margin值,再為radioButton設定其他屬性即可。 RadioButton radioButton = new Radio

程式碼動態設定id報錯-ids.xml的使用

專案中經常在xml中設定id,然後在程式碼中進行findViewById繫結; 但是如果這個view是程式碼中動態生成的,在設定id保證view的唯一標識時發現setId(int)方法傳入整數是不行的,會提示如下錯誤 解決方法: 在res/values/下建立ids.xml <

android studio 真正的設定背景顏色方法

最近開始學習使用android studio想設定背景顏色,不過上網找的全都是複製貼上的而且沒有寫出正確步驟在我亂點一通之後終於找到在哪裡了1、點選setting 2、Editor 裡面選擇 colors & fonts ,展開。(如果直接選中 colors &am

Android 程式碼當中動態改變某個控制元件的位置

不多說,直接上程式碼: private ImageView imageView; //小圓圈 private RelativeLayout mRlImg; mRlImg = (RelativeLayout) view.findViewById(R.id.rl_img);

Android程式碼動態添加布局

 動態新增示例一: public class MainActivity extends Activity {  @Override  public void onCreate(Bundle savedInstanceState) {   super.onCreate(s

Android控制元件動態設定style的問題

        前面做專案因為裡面的佈局大多是JAVA程式碼裡動態生成的,統一樣式時就遇到了如何 在程式碼中動態引用style檔案的問題,上網查了很多資料,都沒得一個好點的解決方案,大多是叫一個屬性一個屬性的設定。當然這樣也可以實現想要的功能, 不過達不到統一樣式的目的,思