当前位置: 首页 > 知识库问答 >
问题:

为什么选择器没有显示按下的状态

左丘涵畅
2023-03-14

按钮样式XML:

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item>
        <shape
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle"
            >
            <corners
                android:radius="3dp"
                />
            <gradient
                android:angle="0"
                android:startColor="#FF63a34a"
                android:endColor="#FF477b36"
                android:type="linear"
                />
            <stroke android:width="3dip" android:color="#B1BCBE" />
        </shape>
    </item>
    <item
        android:top="50dp"
        >

        <shape
            android:shape="rectangle"
            >
            <solid
                android:color="#40000000"
                />
        </shape>
    </item>
</layer-list>

按下的按钮样式XML:

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item>
        <shape
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle"
            >
            <corners
                android:radius="3dp"
                />
            <gradient
                android:angle="0"
                android:startColor="#FF63a34a"
                android:endColor="#FF63a34a"
                android:type="linear"
                />
            <stroke android:width="3dip" android:color="#4F5B5D" />
        </shape>
    </item>
</layer-list>

按钮样式选择器XML:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/button_round_style_pressed" android:state_selected="true"></item>
    <item android:drawable="@drawable/button_round_style_pressed" android:state_pressed="true"></item>
    <item android:drawable="@drawable/button_round_style"></item>

</selector>

AlertDialog自定义XML:

<LinearLayout
    android:layout_width="0dp"
    android:layout_weight="0.2"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:background="@drawable/button_round_style_selector"
    android:padding="10dp"
    android:layout_marginRight="5dp">
    <ImageView
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:background="@drawable/home_white"/>
</LinearLayout>

为什么当我按下LinearLayout时,选择器不能正常工作?它不是将“可提取”更改为“按下”状态。

共有1个答案

蓬新
2023-03-14

默认情况下,LinearLayout不可单击,除非将clickable标记为true,或为其分配OnClickListener,否则其背景不会更改。

 类似资料:
  • 问题内容: 我想创建一个在按下时会更改其样式的。这是我的CSS代码: 仅当我单击并按住它时,它才会更改。我想使其按下后更改样式。例如,正常状态将为白色,被单击时的状态将为绿色,而释放单击后的状态将为红色。 问题答案: 如果使用标签而不是按钮,则可以执行此操作。我知道这并不是您所要的,但是如果您找不到解决方案,它可能会为您提供其他选择: 从另一个示例的演示中借来的结果是: 注意的使用; 这是通过散列

  • 为什么我无法看到Android虚拟设备(AVD) 我在中创建时遇到了问题,问题是我无法看到任何此选项工具->Android->AVD管理器 下面的屏幕截图中我没有找到工具->Android->AVD管理器 在上面的屏幕快照中,你找不到Android-->AVD管理器,为什么它没有显示。 以下是我已安装的软件包: 1.SDK管理器 我关注以下链接:http://www.dev2qa.com/how-

  • 我的代码有问题。由于某些原因,它不会显示我的第二个按钮b2,并且我无法设置第一个按钮的大小。我想在中间有两个按钮,中间有一些空间。

  • 我已将边框颜色设置为button border,但当我单击它时,button不显示该颜色。它正呈现出另一种颜色。我该怎么修好它? 我需要另一个帮助。我如何设置按钮背景像下面的图像?(其实不知道叫什么) 我设计的按钮: 我要设计的按钮: 还有为什么副标题不在一行?为什么要转到另一条新线路? null null

  • 我不熟悉eclipse IDE。我在代码中做了一些更改,希望签入/提交我的更改到svn。但当我右键点击一个项目并选择团队选项时,我看不到提交、更新等选项。我在互联网上搜索过这个问题,并尝试了以下选项, 未安装 关于我正在使用的eclipse IDE的更多详细信息如下,版本:Luna Service Release 1(4.4.1)Build id:20140925-1800 我在windows 8

  • 解决方案见Deepa答案:) 我阅读了StackOverFlow中给出的所有解决方案,但在我的情况下似乎没有一个可行。问题是我的应用程序中有几个按钮,它们会对用户的操作做出不同的反应。例如,当应用程序启动时,除了两个按钮之外,所有按钮都被禁用。因此我将默认的drawable设置到XML中。当我打开一个文件时,所有这些都是可点击的,但其中一些,当按下时,需要保持按下(我已经这样做了),但其他的只是需