Как уменьшить material.switchmaterial.Конечный запас SwitchMaterial в Android?

#android #material-design #material-components-android #material-components #android-switch

#Android #материал-дизайн #материал-компоненты-android #материал-компоненты #android-переключатель

Вопрос:

Я использовал «com.google.android.material.switchmaterial.SwitchMaterial» в этом левом поле имеет некоторое пространство. Как это уменьшить?

Мне нужно выровнять текст everyone по прямой. Я не добавляю конечное поле или заполнение переключателя, только поле родительского макета, которое я установил. Ниже мой XML-код и стили. Пожалуйста, предоставьте свое предложение по уменьшению этого запаса, спасибо.

 <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="10dp">

    <RelativeLayout
        android:id="@ id/who_can"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp">

        <com.google.android.material.textview.MaterialTextView
            style="@style/TextBlackRegular"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_toStartOf="@ id/video_view_result"
            android:singleLine="true"
            android:text="@string/who_can_view"
            android:textSize="@dimen/text_small"
            android:visibility="visible" />

        <com.google.android.material.textview.MaterialTextView
            android:id="@ id/video_view_result"
            style="@style/TextBlackRegular"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:singleLine="true"
            android:text="Everyone"
            android:textSize="@dimen/text_small" />

    </RelativeLayout>


    <com.google.android.material.switchmaterial.SwitchMaterial
        android:id="@ id/save_switch"
        style="@style/SwitchButtonStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@ id/who_can"
        android:checked="true"
        android:text="@string/save_gallery"
        android:textSize="@dimen/text_small"
        app:trackTint="@color/colorSecondaryText" />
</RelativeLayout>


    <style name="SwitchButtonStyle" parent="Widget.MaterialComponents.CompoundButton.Switch">
            <item name="thumbTint">@drawable/switch_selector</item>
            <item name="android:fontFamily">@font/font_regular</item>
            <item name="android:textColor">@color/colorBlack</item>
        </style>
 

введите описание изображения здесь

Ответ №1:

В вашем relativeLayout/topRelativeLayout случае вы добавили маржу. Это означает, что вы хотите увеличить маржу со всех сторон. Вот почему это происходит

 <RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp">
 

удалите android:layout_margin="10dp" . Добавьте margin_top , margin_right что вы хотите сделать.

Комментарии:

1. Я удалил это поле, кто может просматривать мое видео, все и сохранить в галерее весь текст выровнен по левой и правой сторонам, но все равно отображается конечный край переключателя.

2. @RaJ Как я могу сказать, кто может просматривать ваше видео? Вы только что просили margin . И как мы можем это сказать, не предоставляя нам java/kotlin file. И проверьте, куда вы добавили margin_end сейчас. Чем удалить это. Тогда end margin не будет отображаться

Ответ №2:

Вы должны указать содержимое переноса для ширины переключателя или поместить его в новый относительный макет

Ответ №3:

если ваше конечное поле отображается после удаления из

 <RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp">
 

затем

 <com.google.android.material.switchmaterial.SwitchMaterial
        android:id="@ id/save_switch"
        style="@style/SwitchButtonStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@ id/who_can"
        android:checked="true"
        android:text="@string/save_gallery"
        android:textSize="@dimen/text_small"
        app:trackTint="@color/colorSecondaryText" />
 

изменение в SwitchButtonStyle дает вам некоторое значение по умолчанию, мы будем рады, если вы поделитесь целым файлом

Ответ №4:

вы можете видеть, что чертежи по умолчанию (thumb и track) из темы имеют такие отступы

введите описание изображения здесь

итак, попробуйте использовать ваши пользовательские чертежи (но это может повлиять на их внешний вид)

         app:track="@drawable/track"
        android:thumb="@drawable/thumb"