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

Android自动镜像不适用于按钮选择器可绘制

井修雅
2023-03-14

我想要一个从右到左的语言支持。我有一个按钮,开始时有一个文本,结束时可画箭头。箭头方向应根据所选的区域设置而改变。如果我不使用选择器作为drawableEnd,它会工作得很好。

   <androidx.appcompat.widget.AppCompatButton
        android:id="@+id/btn_send_otp"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:gravity="center_vertical"
        android:text="@string/get_started"
        android:drawableEnd="@drawable/sl_right_arrow"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

按钮将以下选择器设置为drawableEnd属性

选择器可绘制(sl_right_arrow):

<?xml version="1.0" encoding="utf-8"?>
  <selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@drawable/orange_right" android:state_enabled="true" />
  <item android:drawable="@drawable/arrow_right_grey" android:state_enabled="false" />
</selector>

Drawables有android: autoMirrored="true"。所以如果我使用这些没有选择器的绘图,如下所示

android:drawableEnd="@drawable/arrow_right_grey"

它工作正常,箭头根据选定的区域设置更改其方向。但它不适用于选择器。

以下是可绘制的:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="@dimen/sdp_15"
android:height="@dimen/sdp_12"
android:autoMirrored="true"
android:viewportWidth="18"
android:viewportHeight="14">
<path
    android:fillColor="#00000000"
    android:pathData="M1.5,7L16.5,7"
    android:strokeWidth="1.5"
    android:strokeColor="#A8A8A8"
    android:strokeLineCap="round"
    android:strokeLineJoin="round" />
<path
    android:fillColor="#00000000"
    android:pathData="M10.7623,1L16.5,7L10.7623,13"
    android:strokeWidth="1.5"
    android:strokeColor="#A8A8A8"
    android:strokeLineCap="round"
    android:strokeLineJoin="round" />
</vector>

共有1个答案

阮星火
2023-03-14

将您的选择器文件更改为以下内容

<?xml version="1.0" encoding="utf-8"?>
  <selector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true">
  <item android:drawable="@drawable/orange_right" android:state_enabled="true" />
  <item android:drawable="@drawable/arrow_right_grey" android:state_enabled="false" />
</selector>
 类似资料:
  • 好吧,在这件事上乱搞了好几天,阅读了无数的帮助页面之后,是时候寻求帮助了。这段代码没有问题。我在表单中输入的任何文本都将显示在弹出框中。好的 如果我将HTML从表单更改为单选按钮或下拉选择器,则弹出框将始终仅显示列表中第一个单选或第一个下拉选项的值。例如,在下面的代码中,第一个单选选项为“是”,第二个单选选项为“否”。无论我选择“是”还是“否”,弹出框始终显示“是” 有没有人知道一种编码方法,这样

  • 问题内容: 我有一个单选按钮,用于设置或基于交易类型的值 演示可以在这里找到 问题是当我单击任意一个单选按钮时,的值不会改变 我的JavaScript代码是 请让我知道我在做什么错。 另外,除非没有其他选择,否则我不想使用或用于此目的。 问题答案: 您在单选按钮的顶部贴了一个大标签,以防止输入到您的单选按钮。该html应该显示为: 然后它可以工作,当然,它可能看起来不像您想要的那样。

  • 本文向大家介绍Android自定义View实现拖动选择按钮,包括了Android自定义View实现拖动选择按钮的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Android实现拖动选择按钮的具体代码,供大家参考,具体内容如下 效果图 View代码 第一步:自定义属性 第二步:自定义圆形 第三步:自定义拖动按钮 使用方法 布局文件: 页面代码: 以上就是本文的全部内容,希望对大家的学习有所

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

  • 我是Angular的新手,我正在尝试获取用户使用ng模型选择的单选按钮的值。但我在“选定联系人”中没有得到任何输出。 这是我的HTML 以下是我的主要内容.js 我在这里做错了什么?搞不清楚!!!

  • 问题内容: 当我单击他的图像时,我想选择单选按钮,但是它不起作用。这是我尝试过的: 我的两个属性都具有相同的 data =“” 属性:对于图像和输入,单击图像时,是否有任何方法可以检查输入(该收音机)? 谢谢 更新: 我发现一些代码有效,但是仅在图像上单击了三下,因此当单击最后一个脚本时,脚本停止了,无法再次选择第一个或第二个,我不知道为什么…我认为必须取消选中所有单选按钮,然后选中选中的一个按钮