一、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 }