标签: material-components

如何在android中的TextInputLayout中对齐文本?

RelativeLayout我有一个TextInputLayout地方EditText可以输入电话号码,还有Textview一个LinearLayout地方可以显示国家/地区代码。当我们开始输入“TextInputLayout”时,滑动到顶部,但我希望它滑动到如图 3 所示的位置。

我遇到了这方面的问题有人可以帮助我吗?这是我的代码:

<RelativeLayout
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                >
        
                                <LinearLayout
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignStart="@+id/error_mobile_no"
                                    android:layout_alignTop="@+id/error_mobile_no"
                                    android:layout_alignBottom="@+id/error_mobile_no"
                                    android:layout_marginTop="0dp"
                                    android:layout_marginBottom="0dp"
                                    android:gravity="center"
                                    android:orientation="horizontal">
        
                                    <TextView
                                        android:id="@+id/country_code_textview"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:fontFamily="@font/lorin_regular"
                                        android:text="+971"
                                        android:layout_marginBottom="2dp"
                                        android:textColor="@color/black"
                                        android:textSize="14sp" />
                                </LinearLayout>
        
                                <com.google.android.material.textfield.TextInputLayout
                                    android:id="@+id/error_mobile_no"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_marginEnd="20dp"
                                    android:layout_marginStart="20dp"
                                    app:errorEnabled="true">
        
                                    <EditText
                                        android:id="@+id/etPhoneNumberDetailedActivity"
                                        android:layout_width="match_parent"
                                        android:layout_height="wrap_content"
                                        android:layout_gravity="start"
                                        android:autofillHints=""
                                        android:paddingStart="35dp"
                                        android:backgroundTint="#6283a3"
                                        android:fontFamily="@font/lorin_regular"
                                        android:hint="@string/mobile_number"
                                        android:inputType="phone"
                                        android:textColor="@color/black"
                                        android:textColorHint="#6283a3" android:textSize="14sp" />
                                </com.google.android.material.textfield.TextInputLayout>
                            </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

这是输入文本之前的字段图像。在此输入图像描述

这是输入文字后的图像。在此输入图像描述

但我正在努力让它看起来像这样。 在此输入图像描述

android android-textinputlayout material-components material-components-android

2
推荐指数
1
解决办法
1691
查看次数

2
推荐指数
1
解决办法
688
查看次数

在BottomNavigationView上为选定的图标设置动画

我正在寻找我目前在我的底形游览视图中使用的Vectordrawablawables,当为猫头鹰应用程序的本材料产品学习时选择了一个选项卡时。但是,与工具栏视图不同,当我使用 MenuItem.getIcon() 获取图标时,将其转换为 AnimatedVectorDrawable 并调用 animate() 方法,没有动画。

我想知道我是否可以做些什么来实现这一点,这是否可能包含在稳定的 Material Components 库中,或者我是否最好创建一个扩展 BottomNavigationView 类的自定义视图。

android material-design bottomnavigationview material-components material-components-android

1
推荐指数
1
解决办法
3060
查看次数

单击第一个菜单项后防止 MDC 菜单关闭

我们正在使用 MDC 菜单组件。我正在寻找一种在单击菜单中的第一项时不关闭菜单的方法。

我尝试将一个类应用于 mdc-list-item 并将光标指定为自动,但它不起作用。

.menu-do-not-close {
   cursor: auto !important;
}
Run Code Online (Sandbox Code Playgroud)

下面是示例小提琴

https://jsfiddle.net/phani25485/Lt6q2gxa/2/

您能否就如何实现这一目标提供一些指导。

javascript material-design material-components mdc-components material-components-web

1
推荐指数
1
解决办法
2090
查看次数

单选可检查卡片视图

我已经按照https://medium.com/@AlbinPoignot/checkable-cardview-in-all-android-versions-7124ca6df1ab实现了一个可检查的 CardView

但是,我需要让用户只选择一个选项。澄清一下,如果一个已经被选中,并且用户选择了另一个,我需要取消选择上一个选项。

此外,我需要在返回选定的 CardView 时保持选中状态。

有人可以帮我完成这两项任务吗?下面是我的实现:


    public class CheckableCardView extends CardView implements Checkable {

        private static final int[] CHECKED_STATE_SET = {
                android.R.attr.state_checked
        };

        private boolean isChecked;
        private TextView itemText;

        public CheckableCardView(Context context) {
            super(context);
            init(null);
        }

        public CheckableCardView(Context context, AttributeSet attrs) {
            super(context, attrs);
            init(attrs);
        }

        public CheckableCardView(Context context, AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
            init(attrs);
        }

        private void init(AttributeSet attrs) {
            LayoutInflater.from(getContext()).inflate(R.layout.checkable_card_view, this, true);

            setClickable(true);
            setChecked(false);

            setCardBackgroundColor(ContextCompat.getColorStateList(getContext(), R.color.selector_card_view_background));

            if (attrs != null) {
                TypedArray …
Run Code Online (Sandbox Code Playgroud)

android material-design android-cardview material-components material-components-android

1
推荐指数
1
解决办法
2647
查看次数

AlertDialog 不显示带有 Material 组件主题的项目

如何在 AlertDialog.Only AlertDialog 中显示项目,没有任何项目我正在尝试下面的代码,但这似乎不起作用:

CharSequence[] choices = {"Choice1", "Choice2", "Choice3"};

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context)
.setTitle(context.getString(R.string.title))
.setPositiveButton(context.getString(R.string.Ok), null)
                            .setNeutralButton(context.getString(R.string.Cancel), null)
.setSingleChoiceItems(choices, 1, null);

AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
Run Code Online (Sandbox Code Playgroud)

我正在使用材料组件样式:

<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

android android-alertdialog material-design material-components material-components-android

1
推荐指数
1
解决办法
893
查看次数

弹出菜单背景颜色更改不起作用

我是android初学者。我想更改弹出菜单背景颜色。我尝试使用此代码更改背景颜色,但它对我不起作用。我不知道为什么不使用此代码。

<!--popup menu item style-->
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.MaterialComponents.Light">
    <item name="android:textColor">@color/colorWhite</item>
    <item name="android:popupBackground">@color/colorBlack</item>
    <item name="actionOverflowMenuStyle">@style/CMOptionsMenu</item>
    <item name="android:divider">@color/colorWhite</item>
    <item name="android:dividerHeight">1dp</item>
</style>
<style name="CMOptionsMenu" parent="Widget.AppCompat.PopupMenu.Overflow">
    <item name="android:popupBackground">@color/colorBlack</item>
    <item name="overlapAnchor">false</item>
    <item name="android:divider">@color/colorRegisterHeader</item>
    <item name="android:dividerHeight">1dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

//此活动代码用于弹出菜单

            PopupMenu popup = new PopupMenu(HomeActivity.this, v);
            popup.setOnMenuItemClickListener(HomeActivity.this);
            popup.inflate(R.menu.popup_menu);
Run Code Online (Sandbox Code Playgroud)

android material-design android-toolbar material-components material-components-android

1
推荐指数
1
解决办法
2209
查看次数

密码切换图标 textinputlayout 覆盖错误图标

我正在使用密码切换来显示和隐藏密码。而且我不想使用自定义 drawable。但是,当此编辑文本生成错误时,它会覆盖切换密码图标,并且无法向该图标添加填充或边距。如果对此有任何解决方案,那将是一种乐趣。这是我正在使用的代码:

       <com.google.android.material.textfield.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:textColorHint="@color/white"
                app:passwordToggleEnabled="true"
                app:passwordToggleTint="@color/white">

                <EditText
                    android:id="@+id/et_password"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:backgroundTint="@color/white"
                    android:hint="@string/password"
                    android:imeOptions="actionDone"
                    android:inputType="textPassword"
                    android:maxLength="40"
                    android:maxLines="1"
                    android:textColor="@color/white"
                    android:textColorHint="@color/app_green_color" />

            </com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

android android-textinputlayout android-textinputedittext material-components material-components-android

1
推荐指数
2
解决办法
2988
查看次数

如何在不使用库的情况下在状态、聚焦和正常状态下应用 TextInputLayout 的自定义形状

我想设计一个自定义圆角 TextInputLayout 正如我展示的活动 TextInputLayout 的示例图像在此输入图像描述以下

我的 xml 代码是

<com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/mobile_number"
                android:inputType="number"
                android:fontFamily="@font/montserrat_regular"
                android:maxLength="10" />
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

它给我一个默认的 TextInputLayout。我怎样才能得到我的观点。请帮助我。样式声明中出现错误。 样式声明错误

android widget android-textinputlayout material-components material-components-android

1
推荐指数
1
解决办法
2281
查看次数

如何将浮动操作按钮用作正方形?

有很多 SO 线程说他们的按钮显示为一个错误的正方形

方形浮动操作按钮

带有 Android 设计库的 Square FloatingActionButton

显示为正方形的浮动操作按钮

但是我的目标是使用方形按钮。怎么circle floating action button改成方形的?

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"     
        android:backgroundTint="@color/standardBlue"
        app:srcCompat="@drawable/ic_3d_model"/>
Run Code Online (Sandbox Code Playgroud)

android floating-action-button android-shapedrawable material-components material-components-android

1
推荐指数
1
解决办法
522
查看次数