android设置linearlayout布局的背景颜色,怎么动态改变背景颜色?
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%的透明度。
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%的透明度。
建议还是用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中定义的,你想设置什么颜色都可以。
linearlayout.setBackgroud(getResources().getColor(R.color.bg1))
试过了,点击第一次的时候我将linearlayout背景设置成红色,没问题,第二次点击再设置颜色就不起作用了,还是红色
你想要什么效果?你想要点击的效果?
如果是开关的效果,那么可以设一个flag,判断是true,还是false,分别设置不同的颜色。设置的时候flag也跟着变。
如果是selector的效果,可以用onTouch的down和up事件设置不同的颜色。当然,最好就是写一个selector文件,在代码里也可以设置为背景。