我正在尝试在具有背景色的线性布局上设置可选背景。我知道通常的方式是android:background =“?android:attr / selectableItemBackground”,但是我已经在后台有了另一个代码。这是代码段。
<LinearLayout
android:id="@+id/number"
android:layout_width="150dp"
android:layout_height="130dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="5dp"
android:layout_marginTop="0dp"
android:background="@color/category_colors"
android:gravity="center"
android:orientation="vertical"
android:weightSum="1">
问题是我如何在那里设置可选背景?
答案 0 :(得分:0)
请尝试以下代码以获取大小:
android:foreground="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android前景属性是相对较新添加的XML属性,但不适用于API 22及以下!如果是这种情况,那么看起来我们将不得不在自定义XML文件中堆叠属性,但是不用担心,这比听起来容易!
1)在项目视图中,转到res / drawable文件夹
2)右键单击Drawable文件夹本身,然后选择new >>> drawable资源文件
3)输入文件名my_custom_button.xml(根目录并不重要,因为您将用以下代码替换它)
4)如果您还不在XML文本选项卡上,请单击它(相对于设计视图)
5)选择所有文本并基本上替换为以下内容: (创建自定义颜色边框基本上是相同的步骤)。 随意更改颜色并玩耍,或将渐变(颜色混合)替换为您自己的自定义颜色!
<?xml version="1.0" encoding="utf-8"?>
<ripple
xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/category_colors">
<item android:id="@android:id/ripple">
<shape android:shape="rectangle">
<solid android:color="@color/colorPrimaryDark" />
<corners android:radius="@dimen/button_radius_large" />
</shape>
</item>
<item android:id="@android:id/background">
<shape android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="@color/colorPrimaryLight"
android:startColor="@color/colorPrimary"
android:type="linear" />
<corners android:radius="@dimen/button_radius_large" />
</shape>
</item>
</ripple>
希望能帮助您!
答案 1 :(得分:0)
您应该像下面的代码一样使用背景选择器XML文件,并应用您的初始颜色以及按色和按色。
然后,您必须像这样创建res / drawable / bg_selector.xml文件:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="@color/color_056DAE" /> <!-- pressed -->
<item android:state_focused="true"
android:color="@color/color_056DAE" /> <!-- focused -->
<item android:color="@color/color_333333" /> <!-- default -->
</selector>
然后,您必须将此文件应用到XML布局的背景中。
android:background="@drawable/bg_selector"