android设置linearlayout布局的背景颜色,怎么动态改变背景颜色?

注:不用selector标签,在代码中通过点击事件实现... 注:不用selector标签,在代码中通过点击事件实现 展开
 我来答
竹筱宓
高粉答主

2019-08-04 · 说的都是干货,快来关注
知道答主
回答量:50
采纳率:0%
帮助的人:7064
展开全部

1、开始打开Android IDE,这里以常用的Android Studio软件的3.2版本为例,然后可以新建一个工程项目,也可以使用当前已经存在的工程,点击后等待整个项目加载完毕再进行后续的操作。

2、稍等片刻,等待整个项目都加载进内存以及Gradle同步成功,如果不成功请先检查相关配置或者添加国内镜像以及源之后再试一次,直到没有错误产生,从而完成项目重构的操作。

3、在左侧导航栏定位到Android-app-res-layout,然后在文件夹的空白处右键,选择新建一个资源文件New-resource file。

4、在弹出的新建资源文件对话框中,在上方的File name中属于欲创建输出资源文件的名称,注意只能包含小写字母以及下划线,这里以“ln_layout”为例,完成后点击确认。

5、稍等片刻,即可看到系统为我们自动创建了一个默认的layout输出资源文件,其中只包含了标题栏,由于默认是ConstraintLayout所以还需要进行修改。

6、首先将布局类型修改为线性布局LinearLayout,然后添-android:background="#50FFFFFF",前面的50表示透明度为50%即可。

7、确认代码无误后,即可在预览窗口中看到结果,表明我们成功地将布局的背景更改成了50%的透明度。

本少独行
2019-07-25 · TA获得超过2556个赞
知道答主
回答量:74
采纳率:0%
帮助的人:1.4万
展开全部

1、开始我们打开Android IDE,这里以常用的Android Studio软件的3.2版本为例,然后可以新建一个工程项目,也可以使用当前已经存在的工程,点击后等待整个项目加载完毕再进行后续的操作。

2、稍等片刻,等待整个项目都加载进内存以及Gradle同步成功,如果不成功请先检查相关配置或者添加国内镜像以及源之后再试一次,直到没有错误产生,从而完成项目重构的操作。

3、在左侧导航栏定位到Android-app-res-layout,然后在文件夹的空白处右键,选择新建一个资源文件New-resource file。

4、在弹出的新建资源文件对话框中,在上方的File name中属于欲创建输出资源文件的名称,注意只能包含小写字母以及下划线,这里以“ln_layout”为例,完成后点击确认。

5、稍等片刻,即可看到系统为我们自动创建了一个默认的layout输出资源文件,其中只包含了标题栏,由于默认是ConstraintLayout所以还需要进行修改。

6、首先将布局类型修改为线性布局LinearLayout,然后添加一android:background="#50FFFFFF",前面的50表示透明度为50%即可。

7、确认代码无误后,即可在预览窗口中看到结果,表明我们成功地将布局的背景更改成了50%的透明度。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巫马疏慧4H
推荐于2017-09-16 · 贡献了超过106个回答
知道答主
回答量:106
采纳率:0%
帮助的人:33.9万
展开全部

建议还是用selector,方便。


selector_list_view_item.xml

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 默认颜色 -->
    <item android:state_pressed="false" android:drawable="@color/white"></item>
    <!-- 点击时的颜色 -->
    <item android:state_pressed="true" android:drawable="@color/light_blue"></item>
 </selector>


然后ListView的item.xml(你的ListView子项布局文件)文件中的根Layout背景设为selector_list_view_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="

    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="horizontal"
    android:background="@drawable/selector_list_view_item">
    </LinearLayout>


ok,搞定!


其中selector_list_view_item.xml文件中的@color/white和@color/light_blue是在colors.xml中定义的,你想设置什么颜色都可以。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
双四别阴我
推荐于2017-09-03 · TA获得超过2282个赞
知道大有可为答主
回答量:1250
采纳率:57%
帮助的人:1195万
展开全部
根据点击判断,做出不同的设置:
linearlayout.setBackgroud(getResources().getColor(R.color.bg1))
更多追问追答
追问
试过了,点击第一次的时候我将linearlayout背景设置成红色,没问题,第二次点击再设置颜色就不起作用了,还是红色
追答
你想要什么效果?你想要点击的效果?
如果是开关的效果,那么可以设一个flag,判断是true,还是false,分别设置不同的颜色。设置的时候flag也跟着变。
如果是selector的效果,可以用onTouch的down和up事件设置不同的颜色。当然,最好就是写一个selector文件,在代码里也可以设置为背景。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙云生哥哥哥哥
2014-03-21 · 超过19用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:51.2万
展开全部
先用findviewbyid()方法找到你要改的layout,然后在想改背景的地方调用layout的setBackground(参数填颜色值)方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式