似乎没有 XML 属性来更改 android 中的 startIconDrawable 大小。与文本相比,图标过大。 这是问题的屏幕截图:
这是我的 XML:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.textfield.TextInputLayout
style="@style/textInputStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Paypal ID"
android:padding="5dp"
app:endIconMode="clear_text"
app:startIconDrawable="@drawable/ic_paypal_logo">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_form_question_hint"
style="@style/textInputEditext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:paddingHorizontal="@dimen/normalPadding" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
如有想转载款式如下:
<style name="textInputEditext" parent="FirebaseUI.TextInputEditText">
<item name="maxLine">1</item>
<item name="android:textColor">@color/colorOnSurface</item>
</style>
<style name="textInputStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="android:layout_marginBottom">12dp</item>
<item name="errorEnabled">true</item>
<item name="endIconTint">@color/colorSurface</item>
<item name="hintTextColor">@color/colorOnSurface</item>
<item name="shapeAppearance">@style/Cut</item>
<item name="boxStrokeColor">#AA000000</item>
<item name="android:textColorHint">@color/colorOnSurface</item>
<item name="android:textStyle">bold</item>
<item name="counterTextColor">@color/colorOnSurface</item>
<item name="android:textColor">@color/colorOnSurface</item>
</style>
没有编辑可绘制大小的属性(直到现在)。
但是,如果您在代码中的许多地方使用该图标并且您不想弄乱原始图标的大小,您可以将它包装在另一个可绘制对象中并在那里更改项目大小。
举个例子:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="24dp" android:height="24dp"
android:drawable="@drawable/ic_yourIconName" />
</layer-list>
如果您减小 TextInputLayout 的大小并缩小图标,则有可能:
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="40dp"
app:startIconDrawable="@drawable/your_icon"
app:startIconScaleType="fitStart"
app:startIconTint="@android:color/transparent"
app:startIconTintMode="src_atop">
<com.google.android.material.textfield.TextInputEditText
android:inputType="textEmailAddress" />
</com.google.android.material.textfield.TextInputLayout>
这里重要的是layout_height和startIconScaleType。