【问题标题】:In Android, AutoCompleteTextView is not centered while using Exposed Dropdown Menus in Material Design Component在 Android 中,在 Material Design 组件中使用 Exposed Dropdown Menus 时 AutoCompleteTextView 不居中
【发布时间】:2020-03-10 10:13:40
【问题描述】:

在新发布的 Material Design Component 中,没有 Spinner 组件。这就是为什么我想使用Exposed Dropdown Menus 来实现类似 Spinner 之类的东西。我面临的问题是 AutoCompleteTextView 与 endIconDrawable 相比未在中心对齐。我的代码如下所示

activity.main.xml

<com.google.android.material.textfield.TextInputLayout
        style="@style/OutLinedEditTextStyle.Spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Select Country"
        android:layout_margin="@dimen/_10sdp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.578"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/materialToolbar"
        app:layout_constraintVertical_bias="0.0">

        <AutoCompleteTextView
            android:id="@+id/filled_exposed_dropdown"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:completionThreshold="1"
            android:dropDownVerticalOffset="@dimen/_5sdp"/>

    </com.google.android.material.textfield.TextInputLayout>

style.xml

<resources xmlns:tools="http://schemas.android.com/tools">
    <style name="OutLinedEditTextStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>

        <item name="boxBackgroundMode">outline</item>
        <item name="boxBackgroundColor">@color/colorWindowBackground</item>

        <item name="boxStrokeColor">@color/colorTextPrimary</item>
        <item name="boxStrokeErrorColor">@color/red</item>
        <item name="boxStrokeWidth">@dimen/_2sdp</item>
        <item name="boxStrokeWidthFocused">@dimen/_2sdp</item>

        <item name="errorTextColor">@color/red</item>
        <item name="errorEnabled">true</item>

        <item name="hintEnabled">true</item>
        <item name="hintTextColor">@color/colorTextPrimary</item>
        <item name="android:textColorHint">@color/colorTextSecondary</item>

    </style>


    <style name="OutLinedEditTextStyle.Spinner">
        <item name="materialThemeOverlay">@style/ThemeOverlay.MaterialComponents.AutoCompleteTextView.FilledBox</item>
        <item name="endIconMode">custom</item>
        <item name="endIconDrawable">@drawable/ic_download</item>
        <item name="endIconContentDescription">Drop down</item>
    </style>

</resources>

【问题讨论】:

    标签: android android-layout material-components-android mdc-components


    【解决方案1】:

    终于可以解决问题了。错误是,我继承了下拉菜单的错误父类。

    <style name="SpinnerStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu">
            <item name="android:layout_width">match_parent</item>
            <item name="android:layout_height">wrap_content</item>
    
            <item name="boxBackgroundMode">outline</item>
            <item name="boxBackgroundColor">@color/colorWindowBackground</item>
    
            <item name="boxStrokeColor">@color/colorTextPrimary</item>
            <item name="boxStrokeErrorColor">@color/red</item>
            <item name="boxStrokeWidth">@dimen/_2sdp</item>
            <item name="boxStrokeWidthFocused">@dimen/_2sdp</item>
    
            <item name="errorTextColor">@color/red</item>
            <item name="errorEnabled">true</item>
    
            <item name="hintEnabled">true</item>
            <item name="hintTextColor">@color/colorTextPrimary</item>
            <item name="android:textColorHint">@color/colorTextSecondary</item>
    
            <item name="endIconMode">clear_text</item>
    
        </style>
    

    【讨论】:

      猜你喜欢
      • 2016-08-18
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-08
      • 2015-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多