Android顏色配置器

来源:https://www.cnblogs.com/xqz0618/archive/2018/04/19/8882514.html
-Advertisement-
Play Games

一、Android Color設置 1、在xml文件中 想設置顏色直接設置background的屬性或者其他的color屬性。隨便設置一個顏色如#000,再點擊左邊的顏色方塊,彈出顏色選擇器選擇顏色 2、在java代碼中 ①Color.parseColor("#000"); 【提示】可以在佈局文件中 ...


一、Android Color設置

1、在xml文件中

想設置顏色直接設置background的屬性或者其他的color屬性。隨便設置一個顏色如#000,再點擊左邊的顏色方塊,彈出顏色選擇器選擇顏色

 

2、在java代碼中

①Color.parseColor("#000");

tvShow.setBackgroundColor(Color.parseColor("#000"));

【提示】可以在佈局文件中配置好顏色值,然後把用“#”表示的顏色帶到java代碼中用

 

②Color.BLACK 使用Color類自帶的顏色,不過都是一些基本色

tvShow.setBackgroundColor(Color.BLACK);

③定義Color資源文件,通過R.color.myColor引用

int color = R.color.myColor;
tvShow.setBackgroundResource(R.color.myColor);

 

④Color.argb(a,r,g,b)方法:

tvShow.setBackgroundColor(Color.argb(255, 255, 0, 0));

分別是alpha、紅(red)、綠(green)、藍(blue)四個顏色值(ARGB)。每個數字取值0-255,因此一個顏色可以用一個整數來表示。為了運行效率,Android編碼時用整數Color類實例來表示顏色。

【提示】通過此方法傳入對應的透明度值,紅色值,綠色值,藍色值進行顏色配置。因此我們可以通過此方法做一個簡單的顏色配置器。

 

二、顏色配置器案例

1、【效果】

界面設計的比較粗糙,希望大家能學到實現效果,優化界面。

2、【項目結構】

3、【代碼】

 ①activity_main.xml佈局文件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     tools:context=".MainActivity"
 7     android:orientation="vertical">
 8 
 9     <TextView
10         android:text="請輸入argb值:"
11         android:textSize="20sp"
12         android:textColor="#000"
13         android:layout_width="match_parent"
14         android:layout_height="wrap_content"
15         android:layout_margin="10dp"/>
16 
17     <LinearLayout
18         android:layout_width="match_parent"
19         android:layout_height="50dp"
20         android:orientation="horizontal">
21         <EditText
22             android:id="@+id/etA"
23             android:layout_width="0dp"
24             android:layout_weight="1"
25             android:layout_height="match_parent"
26             android:layout_margin="1dp"
27             android:hint="透明度(0-255)"
28             android:inputType="number"/>
29 
30         <EditText
31             android:id="@+id/etR"
32             android:hint="紅(0-255)"
33             android:layout_width="0dp"
34             android:layout_weight="1"
35             android:layout_height="match_parent"
36             android:background="#f00"
37             android:layout_margin="1dp"
38             android:gravity="center"
39             android:inputType="number"/>
40     </LinearLayout>
41     <LinearLayout
42         android:layout_width="match_parent"
43         android:layout_height="50dp"
44         android:orientation="horizontal">
45         <EditText
46             android:id="@+id/etG"
47             android:hint="綠(0-255)"
48             android:layout_width="0dp"
49             android:layout_weight="1"
50             android:layout_height="match_parent"
51             android:background="#0f0"
52             android:layout_margin="1dp"
53             android:gravity="center"
54             android:inputType="number"/>
55 
56         <EditText
57             android:id="@+id/etB"
58             android:hint="藍(0-255)"
59             android:layout_width="0dp"
60             android:layout_weight="1"
61             android:layout_height="match_parent"
62             android:background="#00f"
63             android:layout_margin="1dp"
64             android:gravity="center"
65             android:inputType="number"/>
66     </LinearLayout>
67 
68     <TextView
69         android:id="@+id/tv_show"
70         android:text="TextView"
71         android:layout_width="200dp"
72         android:layout_height="200dp"
73         android:background="#000"
74         android:layout_gravity="center"
75         android:layout_marginTop="20dp"
76         />
77 
78     <Button
79         android:id="@+id/btn"
80         android:text="確定配置"
81         android:layout_margin="20dp"
82         android:layout_width="match_parent"
83         android:layout_height="wrap_content" />
84 </LinearLayout>

【提示】EditText 中hint屬性:這是設置輸入框內的提示文字。 inputType屬性:設置輸入框輸入的文本類型,此處設置為整數型

②MainActivity.java文件

 1 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 2 
 3     private EditText etA;
 4     private EditText etR;
 5     private EditText etG;
 6     private EditText etB;
 7     private TextView tvShow;
 8     private Button btn;
 9 
10     @Override
11     protected void onCreate(Bundle savedInstanceState) {
12         super.onCreate(savedInstanceState);
13         setContentView(R.layout.activity_main);
14 
15         initView();
16     }
17 
18     private void initView() {
19         etA = (EditText) findViewById(R.id.etA);
20         etR = (EditText) findViewById(R.id.etR);
21         etG = (EditText) findViewById(R.id.etG);
22         etB = (EditText) findViewById(R.id.etB);
23         tvShow = (TextView) findViewById(R.id.tv_show);
24         btn = (Button) findViewById(R.id.btn);
25 
26         btn.setOnClickListener(this);
27     }
28 
29     @Override
30     public void onClick(View v) {
31         switch (v.getId()) {
32             case R.id.btn:
33                 submit();
34                 break;
35         }
36     }
37 
38     private void submit() {
39         // validate
40         if (!etA.getText().equals("")&&!etB.getText().equals("")
41                 &&!etR.getText().equals("")&&!etG.getText().equals("")) {
42             //對用戶輸入的數值進行判斷是否為空。避免空字元無法轉換為int異常
43             int et_a = Integer.parseInt(etA.getText().toString());
44             int et_r = Integer.parseInt(etR.getText().toString());
45             int et_g = Integer.parseInt(etG.getText().toString());
46             int et_b = Integer.parseInt(etB.getText().toString());
47             tvShow.setBackgroundColor(Color.argb(et_a, et_r, et_g, et_b));
48         }else {
49             Toast.makeText(this, "輸入的值不能為空", Toast.LENGTH_SHORT).show();
50         }
51     }
52 }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 並行複製從庫發生自動重啟分析 背景 半同步複製從庫在晚上凌晨2點半發生自動重啟,另一個非同步複製從庫在第二天凌晨3點也發生了自動重啟。 分析 版本mysql 5.7.16 mysql show variables like '%slave_para%'; + + + | Variable_name | ...
  • Getting Started Getting Started. 1 1. Introduction. 1 2.Quick Start-Strandalone HBase. 1 2.1 JDK版本選擇... 1 2.2 Get Started With HBase. 1 2.3 偽分散式本地安裝.. ...
  • 正則表達式通常稱為regexes,是文本處理中模式匹配的一個標準,也是處理字元串的一個強有力的工具。使用正則表達式時,需要指定一個字元串作為模式串去檢索目標字元串。你可以使用正則表達式來查找字元串中匹配該正則表達式表示的模式的子串,也可以進行文本替換或者從目標文本中提取子串。 參考資料《iOS編程指 ...
  • 一個曲線 圖例: 多個曲線 圖例: ...
  • 一個簡單的界面: item.xml: 代碼: 開許可權: ...
  • 首先,我們都知道NSObject是大多數類的根類,但是,這個類的是怎麼實現的呢?我們可以去下載開源的Runtime源碼,探究下NSObject類的實現。 1. NSObject.h文件 我們可以直接使用Command點NSOject進去看到它的頭文件,可以看到,NSObject.h文件中有兩塊內容: ...
  • 前言: 這篇文章是我從事ISP研究數年來的一些經驗總結,沒有用到深奧的理論知識,有的只是根據實際狀況來處理的一些常規方法,以及曾經犯過的錯誤總結。我想把ISP function的原理用簡單淺顯的語言描述出來,希望對初學者有所幫助。這裡的ISP主要是指從CMOS sensor輸出的bayer patt ...
  • 先導入 然後在 info.plist 文件中添加 Privacy - Location Always and When In Use Usage Description 和 Privacy - Location When In Use Usage Description 兩個就可以了。 Locati ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...