您好,登錄后才能下訂單哦!
一、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布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:orientation="vertical"> <TextView android:text="請輸入argb值:" android:textSize="20sp" android:textColor="#000" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp"/> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <EditText android:id="@+id/etA" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:layout_margin="1dp" android:hint="透明度(0-255)" android:inputType="number"/> <EditText android:id="@+id/etR" android:hint="紅(0-255)" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:background="#f00" android:layout_margin="1dp" android:gravity="center" android:inputType="number"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <EditText android:id="@+id/etG" android:hint="綠(0-255)" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:background="#0f0" android:layout_margin="1dp" android:gravity="center" android:inputType="number"/> <EditText android:id="@+id/etB" android:hint="藍(0-255)" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:background="#00f" android:layout_margin="1dp" android:gravity="center" android:inputType="number"/> </LinearLayout> <TextView android:id="@+id/tv_show" android:text="TextView" android:layout_width="200dp" android:layout_height="200dp" android:background="#000" android:layout_gravity="center" android:layout_marginTop="20dp" /> <Button android:id="@+id/btn" android:text="確定配置" android:layout_margin="20dp" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
【提示】EditText 中hint屬性:這是設置輸入框內的提示文字。 inputType屬性:設置輸入框輸入的文本類型,此處設置為整數型
②MainActivity.java文件
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private EditText etA; private EditText etR; private EditText etG; private EditText etB; private TextView tvShow; private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { etA = (EditText) findViewById(R.id.etA); etR = (EditText) findViewById(R.id.etR); etG = (EditText) findViewById(R.id.etG); etB = (EditText) findViewById(R.id.etB); tvShow = (TextView) findViewById(R.id.tv_show); btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn: submit(); break; } } private void submit() { // validate if (!etA.getText().equals("")&&!etB.getText().equals("") &&!etR.getText().equals("")&&!etG.getText().equals("")) { //對用戶輸入的數值進行判斷是否為空。避免空字符無法轉換為int異常 int et_a = Integer.parseInt(etA.getText().toString()); int et_r = Integer.parseInt(etR.getText().toString()); int et_g = Integer.parseInt(etG.getText().toString()); int et_b = Integer.parseInt(etB.getText().toString()); tvShow.setBackgroundColor(Color.argb(et_a, et_r, et_g, et_b)); }else { Toast.makeText(this, "輸入的值不能為空", Toast.LENGTH_SHORT).show(); } } }
總結
以上所述是小編給大家介紹的Android顏色配置器配置方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。