Cách thay đổi màu nền trong ứng dụng Android


253

Tôi muốn có thể thay đổi màu nền thành màu trắng trong ứng dụng Android của mình theo cách đơn giản nhất có thể.

Câu trả lời:


348

Bạn cần sử dụng thuộc tính android: nền, vd

android:background="@color/white"

Ngoài ra, bạn cần thêm một giá trị cho màu trắng trong chuỗi String

<color name="white">#FFFFFF</color>

Chỉnh sửa: ngày 18 tháng 11 năm 2012

Hai chữ cái đầu tiên của mã màu 8 chữ cái cung cấp giá trị alpha, nếu bạn đang sử dụng ký hiệu màu chữ 6 html thì màu đó mờ.

Ví dụ :

nhập mô tả hình ảnh ở đây


@Jonny hai chữ cái đầu tiên cung cấp giá trị alpha.
Ravi Vyas

Cảm ơn bạn, nhưng không dễ dàng hơn khi sử dụng giá trị hex?
the_prole

nó sẽ rất dễ dàng, nhưng thực hành tồi :)
Ravi Vyas

3
Nó thậm chí còn dễ sử dụng hơn android:background="@android:color/white", được xác định trước và không yêu cầu bạn thêm bất cứ thứ gì vào chuỗi DOM.
Greg Hewgill

Bạn có thể thêm vị trí /res/layout/activity_main.xmlđể thêm phần tử android:backgroundvào câu trả lời không?
030

157

Bạn cũng có thể dùng

android:background="#ffffff"

trong bố cục xml của bạn hoặc /res/layout/activity_main.xml, hoặc bạn có thể thay đổi chủ đề trong AndroidManifest.xml của mình bằng cách thêm

android:theme="@android:style/Theme.Light"

vào thẻ hoạt động của bạn.

Nếu bạn muốn thay đổi nền động, hãy sử dụng

YourView.setBackgroundColor(Color.argb(255, 255, 255, 255));

Đây là câu trả lời đúng bởi vì nó có chủ đề, tôi tin. Một lớp lót KHÔNG phải là cách đơn giản nhất, nhưng là một cách để truyền bá toàn bộ phong cách đến mọi thứ. Kiểu là cách bạn đạt được một dòng với những thay đổi thậm chí phức tạp. Ngoài ra, các kiểu làm việc theo sở thích, không giống như các thuộc tính chung. (mặc dù vẫn còn một vài điều kỳ lạ)
Stephen J

60

Cách đơn giản nhất

android:background="@android:color/white"

Không cần định nghĩa gì cả. Nó sử dụng màu sắc được xác định trước trong android.R.


7
và lập trình:context.getResources().getColor(android.R.color.white)
Paschalis

1
cảm ơn, đó thực sự là những gì tôi đang tìm kiếm. Trong trường hợp của tôi, tôi phải làm điều đó trong Java.
Armfoot

10

Để thay đổi màu nền theo cách đơn giản nhất có thể lập trình (độc quyền - không thay đổi XML):

LinearLayout bgElement = (LinearLayout) findViewById(R.id.container);
bgElement.setBackgroundColor(Color.WHITE);

Yêu cầu duy nhất là phần tử "cơ sở" của bạn trong Activity_whthing.xml có id mà bạn có thể tham chiếu trong Java ( containertrong trường hợp này):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/container"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
     ...
</LinearLayout>

Paschalis và James, người đã trả lời ở đây, đã đưa tôi đến giải pháp này, sau khi kiểm tra các khả năng khác nhau trong Cách đặt màu văn bản của TextView trong mã? .

Hy vọng nó sẽ giúp được ai đó!


4

Phương pháp này hiệu quả với tôi:

RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.layout.rootLayout);
relativeLayout.setBackgroundColor(getResources().getColor(R.color.bg_color_2));

Đặt id trong bố cục xml

xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rootLayout"
android:background="@color/background_color"

Thêm giá trị màu / color.xml

<color name="bg_color_2">#ffeef7f0</color>

3

Cách đơn giản nhất là thêm android:background="#FFFFFF"vào nút chính trong layout.xml hoặc /res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
   <TextView xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:padding="10dp"
       android:textSize="20sp" 
       android:background="#FFFFFF">
   </TextView>

Đây không phải là một ý tưởng hay, bởi vì nó sẽ dẫn đến việc rút GPU không cần thiết (đầu tiên, nền cửa sổ sẽ được vẽ và sau đó là nền của TextView trên đầu trang). Xem: tò mò
creature.com / docs / android-performance-case-student-1.html

3

Cách tốt nhất để sử dụng nền với độ dốc vì nó không làm tăng kích thước ứng dụng của hình ảnh ứng dụng của bạn là độc hại cho ứng dụng Android, vì vậy hãy thử sử dụng ít hơn thay vì sử dụng một màu làm nền bạn có thể sử dụng nhiều màu trong một nền. nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đây


2

Bạn có thể thử điều này trong xmltờ:

android:background="@color/background_color"

1

Trong Bố cục, để thay đổi nền sử dụng này.

android:background="@color/your_color"

Trong chương trình có thể được sử dụng này. Ví dụ: màu nền Texview

 TextView tvName = (TextView) findViewById(R.id.tvName);
 tvName.setBackgroundColor(getResources().getColor(R.color.your_color));

0

bạn có thể thử với cách này

android:background="@color/white"

0

Một cách khác, đi đến bố cục -> tệp .xml của bạn -> dạng xem thiết kế. Sau đó đi cây thành phần và chọn bố cục bạn muốn thay đổi màu. Trong cây thành phần bên dưới có phần thuộc tính . Chọn nền trong phần thuộc tính (Trong phần hình 1). Sau đó bấm vào phần 2 trong hình. Sau đó, cửa sổ Tài nguyên sẽ được mở. Từ đó chọn menu màu. Sau đó chọn màu bạn muốn. nhập mô tả hình ảnh ở đây


0

Bạn có thể sử dụng tài nguyên màu đơn giản, thường được chỉ định bên trong

res/values/colors.xml.

sử dụng

<color name="red">#ffff0000</color>

và sử dụng thông qua này android:background="@color/red". Màu này có thể được sử dụng ở bất cứ nơi nào khác, ví dụ như màu văn bản. Tham chiếu nó trong XML theo cùng một cách hoặc lấy mã thông qua

getResources().getColor(R.color.red).

Bạn cũng có thể sử dụng bất kỳ tài nguyên có thể vẽ nào làm nền, sử dụng android:background="@drawable/mydrawable"cho điều này (có nghĩa là 9patch drawables, bitmap thông thường, drawable hình dạng, ..).


0

Đôi khi, văn bản có cùng màu với nền đó, hãy thử với android: background = "# CCCCCC" vào các thuộc tính listview và bạn sẽ có thể thấy điều đó.


0

android: background = "# 64B5F6"
Bạn có thể thay đổi giá trị sau '#' theo thông số kỹ thuật của riêng bạn hoặc nhu cầu tùy thuộc vào cách bạn muốn sử dụng chúng.
Đây là một mã mẫu:

<TextView
        android:text="Abir"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="24sp"
        android:background="#D4E157"  />

Cảm ơn bạn :)


0
  1. đi tới Activity_Main.xml
  2. có thiết kế xem / và xem văn bản.
  3. chọn Chế độ xem văn bản
  4. viết mã này lên:

    android:background="@color/colorAccent"

0

Nếu bạn muốn thêm màu nền cho toàn bộ hoạt động

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#1de9b6"
    tools:context="com.example.abc.myapplication.MainActivity">
 </RelativeLayout>

Nếu bạn muốn sử dụng nền để xem

 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Andrios"
    android:background="@color/colorAccent" />

Hi vọng điêu nay co ich!


0

Mã này có thể hữu ích cho bạn:

android:background="#fff"

0

Tôi muốn có thể thay đổi màu nền thành màu trắng trong ứng dụng Android của mình theo cách đơn giản nhất có thể.

Câu hỏi nói cách đơn giản nhất, vì vậy đây là.

Đặt parentViewStyletrong tất cả các quan điểm cha mẹ của bạn. Giống như hầu hết các quan điểm của phụ huynh về hoạt động, đoạn và hộp thoại của bạn.

<LinearLayout style="@style/parentViewStyle">

  ... other components inside

</LinearLayout>

Chỉ cần đặt phong cách này vào bên trong res>values>styles.xml

<style name="parentViewStyle">
    <item name="android:layout_height">match_parent</item>
    <item name="android:layout_width">match_parent</item>
    <item name="android:background">@color/white</item> // set your color here.
    <item name="android:orientation">vertical</item>
</style>

Bằng cách này, bạn không phải thay đổi màu nền nhiều lần trong tương lai.


0

Dành cho Kotlin và không chỉ khi bạn viết

@màu sắc/

bạn có thể chọn bất cứ điều gì bạn muốn, nhanh chóng và đơn giản:

android:background="@color/md_blue_900"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.