【问题标题】:Change background of LinearLayout in Android在Android中更改LinearLayout的背景
【发布时间】:2011-04-07 06:17:27
【问题描述】:

我正在开发一个 Android 应用程序。我想改变一个 LinearLayout 元素的背景。

我可以设置什么属性来改变它的背景?

【问题讨论】:

    标签: android xml android-linearlayout


    【解决方案1】:

    如果你想通过xml使用android的默认颜色代码进行设置,那么你需要这样做:

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

    如果您在项目的colors.xml 中指定了颜色,则使用:

    android:background="@color/white"
    

    如果你想以编程方式做,那么做:

    linearlayout.setBackgroundColor(Color.WHITE);
    

    【讨论】:

    • @swathi:您坚持的答案仅适用于应用程序级别,但不适用于框架。实际上我想更改android的开源代码,以便线性布局的背景发生变化,这意味着每当我们正在访问应用程序级别的线性布局,然后应显示具有我指定背景的线性布局
    • @Narayana 您将不得不在文件夹 source/frameworks/base/core/java/android/widget 下的 android 源代码中修改 LinearLayout.java
    • @swathi:我只在处理那个文件。但无法解决我的问题。你能帮我吗??
    • @Narayana:在 LinearLayout 构造函数中尝试通过 setBackgroundColor() 设置背景.....我不确定它只是试一试这只是我的假设,它可能会或可能不会起作用。
    • @Narayana 哦酷...你能告诉我你是如何运行源代码的吗?
    【解决方案2】:
    LinearLayout li=(LinearLayout)findViewById(R.id.layoutid);
    

    设置布局的背景颜色。

    li.setBackgroundColor(Color.parseColor("#ffff00"));
    

    这是设置你可以存储在drawable文件夹中的图像

    li.setBackgroundDrawable(drwableItem);
    

    一些用于显示目的动画或img的资源

    li.setBackgroundResource(R.id.bckResource);
    

    【讨论】:

    • 如果你不介意 li.setBackgroundColor("#ffff00");这段代码不对 li.setBackgroundColor(Color.parseColor("#ffff00"));这个正确
    • Hemant - 我编辑了示例,查看 setBackgroundColor() 的正确使用
    • 类中如何导入“颜色”?
    【解决方案3】:

    你刚刚使用了属性

    • android:background="#ColorCode" 用于颜色

      如果您的图像保存在可绘制文件夹中然后使用:-

    • android:background="@drawable/ImageName" 用于图像设置

    【讨论】:

    • @Aydudh:这在应用程序级别可以正常工作,但在框架中不行。我想在 android 的开源代码中进行更改
    【解决方案4】:
     android:background="@drawable/ic_launcher"
    

    应该包含在布局选项卡中。 其中 ic_launcher 是您可以放入项目文件夹/res/drawable 中的图像名称。 您可以复制任意数量的图像并将其作为背景

    【讨论】:

      【解决方案5】:

      1- 选择LinearLayout findViewById

      LinearLayout llayout =(LinearLayout) findViewById(R.id.llayoutId); 
      

      2- 从 R.color.colorId 设置颜色

      llayout.setBackgroundColor(getResources().getColor(R.color.colorId));
      

      【讨论】:

        【解决方案6】:

        使用此代码,其中liLinearLayoutli.setBackgroundColor(Color.parseColor("#ffff00"));

        【讨论】:

          【解决方案7】:

          如果您使用后台资源并希望更改资源,您可以使用 setBackgroundResource() 函数。

          ui_item.setBackgroundResource(R.drawable.myResource)
          

          XML 中的背景资源如下所示:

          <LinearLayout
                          android:id="@+id/ui_item"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content"
                          android:background="@drawable/background_01"
                          android:orientation="vertical">
          

          【讨论】:

            猜你喜欢
            • 2013-12-03
            • 2011-08-24
            • 1970-01-01
            • 2011-02-22
            • 2014-04-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-05-02
            相关资源
            最近更新 更多