Android的布局元素的设置背景颜色Android的布局元素的设置背景颜色(Setting bac

2019-05-12 20:27发布

我想,有些克隆活动的设计从一组在Android UI设计的幻灯片 。 但是我有一个非常简单的任务问题。

我已经创建的布局所示的图像中,以及所述报头是TextView在一个RelativeLayout 。 现在我想改变的背景颜色RelativeLayout ,但我似乎无法弄清楚如何。

我知道我可以设置android:background在房地产RelativeLayout XML文件中的标签,但我该怎么把它设置为? 我想定义一个新的颜色,我可以在多个地方使用。 它是一个drawable或一个string

另外我希望那里是一个非常简单的方法来这个从我必须失去了Eclipse的Android UI设计师之内?

我目前有点沮丧,因为这应该是与最大点击几下进行的活动。 因此,任何帮助是非常赞赏。 :)

Answer 1:

您可以使用简单的颜色资源 ,里面通常被指定res/values/colors.xml

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

并通过使用该android:background="@color/red" 。 这种颜色可以在其他地方使用过,例如作为文本颜色。 参考它在XML以同样的方式,或通过得到它的代码getResources().getColor(R.color.red)

您也可以使用任何可绘制资源为背景,使用android:background="@drawable/mydrawable"这个(这意味着9patch绘项目,正常位图,形状可绘制..)。



Answer 2:

以上答案是nice.You也可以是这样的程序,如果你想

首先,你的布局应该有一个ID。 通过写它添加下列+id在res /布局/ *。xml的线

<RelativeLayout ...
...
android:id="@+id/your_layout_id"
...
</RelativeLayout>

然后,在你的Java代码,请以下更改。

RelativeLayout rl = (RelativeLayout)findViewById(R.id.your_layout_id);
rl.setBackgroundColor(Color.RED);

除此之外,如果你有colors.xml定义的颜色,那么你也可以编程方式执行:

rl.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.red));


Answer 3:

您可以使用android:background="#DC143C" ,或任何其他RGB值的颜色。 我用这种方式有没有问题,说这里



Answer 4:

res/values/colors.xml.

<color name="red">#ffff0000</color>
android:background="@color/red"

例如没有为我工作,但

android:background="#(hexidecimal here without these parenthesis)"

在相对布局元素属性为我工作。



Answer 5:

如果你想快速改变颜色(和你没有十六进制数字记忆)Android有几个预设的颜色,你可以像这样访问:

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

还有,你可以选择从哪个是检验美好的东西出来很快有15种颜色,而你并不需要设置其他文件。

设置一个值/ colors.xml文件,并使用直六角像上面解释仍然可以工作。



Answer 6:

安卓2.1.2工作室(或可能更早),将让你从一个色轮挑选:

我通过添加以下到我的布局得到这个:

android:background="#FFFFFF"

然后我点击了FFFFFF颜色和点击的出现灯泡。



Answer 7:

科特林

linearLayout.setBackgroundColor(Color.rgb(0xf4,0x43,0x36))

要么

<color name="newColor">#f44336</color>

-

linearLayout.setBackgroundColor(ContextCompat.getColor(vista.context, R.color.newColor))


Answer 8:

4种可能的方式,用一个你需要的。

1.科特林

val ll = findViewById<LinearLayout>(R.id.your_layout_id)
ll.setBackgroundColor(ContextCompat.getColor(this, R.color.white))

2.数据绑定

<LinearLayout
    android:background="@{@color/white}"

多种有用的陈述书

<LinearLayout
    android:background="@{model.colorResId}"

3. XML

<LinearLayout
    android:background="#FFFFFF"

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

4. Java的

LinearLayout ll = (LinearLayout) findViewById(R.id.your_layout_id);
ll.setBackgroundColor(ContextCompat.getColor(this, R.color.white));


Answer 9:

上述所有问题的答案都是静态的。 我以为我会提供一个动态的答案。 这两个文件将需要同步是相对foo.xml的布局和activity_bar.java相当于对应于该Java类R.layout.foo

foo.xml设置整个布局中的ID:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/foo" .../>

而在activity_bar.java设置在颜色onCreate()

public class activity_bar extends AppCompatActivty {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.foo);

            //Set an id to the layout
        RelativeLayout currentLayout = 
                    (RelativeLayout) findViewById(R.id.foo);

        currentLayout.setBackgroundColor(Color.RED);
        ...
    }
    ...
}

我希望这有帮助。



文章来源: Setting background colour of Android layout element