繁体   English   中英

1个视图android布局上的2个属性

[英]2 attributes on 1 view android layout

我正在尝试在具有背景色的线性布局上设置可选背景。 我知道通常的方式是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">

问题是我如何在那里设置可选背景?

请尝试以下代码以获取大小:

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>

希望这可以帮助!!!

您应该像下面的代码一样使用背景选择器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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM