Android材质编辑文本结束图标

Android材质编辑文本结束图标,android,android-textinputlayout,material-components-android,material-components,Android,Android Textinputlayout,Material Components Android,Material Components,我从Google的材料库中添加了一个EditText视图,并将endIcon模式设置为clear\u text。然而,endIcon太大了(它完全适合文本视图),然而,从文档来看,我认为它应该小一点。我尝试使用布局XML,但似乎无法找到原因。我还查看了材质存储库中的endIcon属性,似乎没有endIconSize属性。如果有人能指出我犯错误的地方,我将不胜感激 文本视图XML <com.google.android.material.textfield.TextInputLayout

我从Google的材料库中添加了一个EditText视图,并将endIcon模式设置为
clear\u text
。然而,endIcon太大了(它完全适合文本视图),然而,从文档来看,我认为它应该小一点。我尝试使用布局XML,但似乎无法找到原因。我还查看了材质存储库中的endIcon属性,似乎没有endIconSize属性。如果有人能指出我犯错误的地方,我将不胜感激

文本视图XML

<com.google.android.material.textfield.TextInputLayout
android:id="@+id/descriptionTextField"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:boxBackgroundColor="@android:color/white"
app:boxStrokeColor="@color/colorSecondaryLight"
app:boxStrokeWidth="2dp"
app:endIconMode="clear_text"
app:errorEnabled="false"
app:layout_constraintBottom_toBottomOf="@+id/taskConfirmedBtn"
app:layout_constraintEnd_toStartOf="@+id/taskConfirmedBtn"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/taskConfirmedBtn">

<com.google.android.material.textfield.TextInputEditText
  android:id="@+id/descriptionInput"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:fontFamily="sans-serif"
  android:inputType="textCapSentences"
  android:singleLine="true"
  android:textColor="@color/colorOnSurface" />

样式xml

<resources>
<!-- Base application theme -->
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="android:colorBackground">@color/background</item>

<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryVariant">@color/colorPrimaryLight</item>
<item name="colorOnPrimary">@color/colorOnPrimary</item>

<item name="colorSecondary">@color/colorSecondary</item>
<item name="colorSecondaryVariant">@color/colorSecondaryLight</item>
<item name="colorOnSecondary">@color/colorOnSecondary</item>

<item name="toolbarStyle">@style/Widget.Taskeroo.Toolbar</item>
<item name="actionBarTheme">@style/Widget.Taskeroo.ActionBar</item>
<item name="floatingActionButtonStyle">@style/Widget.Taskeroo.FloatingActionButton</item>
<item name="imageButtonStyle">@style/Widget.Taskeroo.ImageButton</item>
<item name="materialCardViewStyle">@style/Widget.Taskeroo.CardView</item>
<item name="bottomSheetDialogTheme">@style/CustomBottomSheetDialog</item>

<item name="android:textViewStyle">@style/SanSerifLightTextView</item>
<item name="android:buttonStyle">@style/SansSerifLightButton</item>
<item name="android:radioButtonStyle">@style/SansSerifLightButton</item>

</style>

<!-- Themes -->

<style name="SplashScreenTheme" parent="AppTheme.NoActionBar">
<item name="android:windowBackground">@drawable/splash_screen_bitmap</item>
</style>

<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

<style name="AppTheme.NoActionBar.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.NoActionBar.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

<!-- Widgets -->

<style name="Widget.Taskeroo.ActionBar" parent="Widget.MaterialComponents.ActionBar.Primary">
<item name="android:colorControlNormal">@color/colorOnPrimary</item>
<item name="android:iconTint">@color/colorOnPrimary</item>
</style>

<style name="Widget.Taskeroo.Toolbar" parent="Widget.MaterialComponents.Toolbar.Primary">
<item name="titleTextColor">@color/colorOnPrimary</item>
</style>

<style name="Widget.Taskeroo.FloatingActionButton" parent="Widget.MaterialComponents.FloatingActionButton">
<item name="android:backgroundTint">@color/colorSecondaryLight</item>
<item name="tint">@color/colorOnSecondary</item>
</style>

<style name="Widget.Taskeroo.CardView" parent="Widget.MaterialComponents.CardView">
<item name="cardBackgroundColor">@color/colorSurface</item>
<item name="cardElevation">10dp</item>
<item name="android:elevation">8dp</item>
</style>

<style name="DividerStyle">
<item name="android:background">@color/colorSecondary</item>
</style>

<style name="Widget.Taskeroo.ImageButton" parent="Widget.AppCompat.Button.Borderless.Colored">
<item name="tint">@color/colorSecondary</item>
</style>

<!-- Components -->

<style name="CustomBottomSheetDialog" parent="@style/ThemeOverlay.MaterialComponents.BottomSheetDialog">
<item name="bottomSheetStyle">@style/CustomBottomSheet</item>
</style>

<style name="CustomBottomSheet" parent="Widget.MaterialComponents.BottomSheet">
<item name="shapeAppearanceOverlay">@style/CustomShapeAppearanceBottomSheetDialog</item>
<item name="backgroundTint">@color/colorSurface</item>
</style>

<style name="CustomShapeAppearanceBottomSheetDialog" parent="">
<item name="cornerFamily">rounded</item>
<item name="cornerSizeTopRight">16dp</item>
<item name="cornerSizeTopLeft">16dp</item>
<item name="cornerSizeBottomRight">0dp</item>
<item name="cornerSizeBottomLeft">0dp</item>
</style>

<!-- Fonts -->

<style name="SanSerifLightTextView" parent="android:Widget.TextView">
<item name="android:fontFamily">sans-serif-light</item>
</style>

<style name="SansSerifLightButton" parent="android:Widget.Holo.Button">
<item name="android:fontFamily">sans-serif-light</item>
</style>

<style name="SansSerifLightRadioButton" parent="android:Widget.Holo.CompoundButton.RadioButton">
<item name="android:fontFamily">sans-serif-light</item>
</style>

<style name="AppTheme.NoActionBar.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
</resources>

@颜色/背景
@颜色/原色
@彩色/彩色原色光
@彩色/彩色原色
@彩色/彩色次级
@彩色/彩色二次光
@颜色/颜色秒
@style/Widget.Taskeroo.Toolbar
@style/Widget.Taskeroo.ActionBar
@style/Widget.Taskeroo.FloatingActionButton
@style/Widget.Taskeroo.ImageButton
@style/Widget.Taskeroo.cardwiew
@“样式/自定义”对话框
@样式/散列飞行文本视图
@样式/飞行按钮
@样式/飞行按钮
@可绘制/启动屏幕位图
假的
真的
@彩色/彩色原色
@彩色/彩色原色
@彩色/彩色原色
@彩色/彩色二次光
@颜色/颜色秒
@颜色/颜色表面
10dp
8dp
@彩色/彩色次级
@彩色/彩色次级
@样式/自定义底版
@样式/自定义形状PearanceBottomSheet对话框
@颜色/颜色表面
圆的
16dp
16dp
0dp
0dp
无衬线灯
无衬线灯
无衬线灯
假的
真的

如下更改代码:

<com.google.android.material.textfield.TextInputLayout 
    app:endIconDrawable="@drawable/customDrawable"> 
    ...
</com.google.android.material.textfield.TextInputLayout>
它很可能会解决您的问题。试试这个--> 添加依赖项: 格拉德尔:

依赖关系:

implementation 'com.github.HITGIF:TextFieldBoxes:1.4.3'
如果希望有图像按钮,请使用xml中的app:endIcon或setEndIcon(Int resourceID)设置显示在字段末尾的图像按钮的图标

<studio.carbonylgroup.textfieldboxes.TextFieldBoxes
...
app:endIcon="@drawable/ic_mic_black_24dp"
>
你的问题在这里:

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
   <item name="imageButtonStyle">@style/Widget.Taskeroo.ImageButton</item>
</style>

<style name="Widget.Taskeroo.ImageButton" parent="Widget.AppCompat.Button.Borderless.Colored">
    <item name="tint">@color/colorSecondary</item>
</style>

@style/Widget.Taskeroo.ImageButton
@彩色/彩色次级
您使用的是
Widget.AppCompat.Button.*
而不是
Widget.AppCompat.ImageButton

样式
Widget.AppCompat.Button.Borderless.Colored
具有自定义尺寸


您可以发布一个屏幕吗?以及您使用的是哪个版本的材料组件库?您可以在原始帖子中找到该屏幕。我正在使用com.google.android.material:material:1.1.0-alpha06第一步是迁移到稳定的
1.1.0
并再次检查问题是否仍然存在我已经迁移到1.1.0,问题仍然存在我更愿意坚持使用材料库(我的主题、小部件和样式都基于材料)我尝试过使用自定义向量资源并更改其大小,但它始终完全符合视图。似乎有东西在扩展assetHi,你有没有尝试过降级库版本?我已经降级到'com.google.android.material:material:1.1.0'来修复它。格拉齐·米勒!
<studio.carbonylgroup.textfieldboxes.TextFieldBoxes
...
app:endIcon="@drawable/ic_mic_black_24dp"
>
final TextFieldBoxes textFieldBoxes = findViewById(R.id.text_field_boxes);
textFieldBoxes.getEndIconImageButton().setOnClickListener(new 
View.OnClickListener() {
@Override
public void onClick(View view) {
    // What you want to do when it's clicked
}
});
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
   <item name="imageButtonStyle">@style/Widget.Taskeroo.ImageButton</item>
</style>

<style name="Widget.Taskeroo.ImageButton" parent="Widget.AppCompat.Button.Borderless.Colored">
    <item name="tint">@color/colorSecondary</item>
</style>