Макет фонового помета на полях - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь сделать триммербар для моего видеоплеера

trimmer_bar.xml

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <RelativeLayout
        android:id="@+id/thumbsBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="40dp"
        tools:background="@color/trimmerBarSelected">


        <ImageView
            android:id="@+id/leftThumb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription=""
            android:scaleType="fitStart"
            android:src="@drawable/ic_left_thumb" />


        <ImageView
            android:id="@+id/rightThumb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:contentDescription=""
            android:scaleType="fitEnd"
            android:src="@drawable/ic_right_thumb" />


    </RelativeLayout>
    <ImageView
        android:id="@+id/progressIndicator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="60dp"
        android:layout_marginTop="3dp"
        android:contentDescription=""
        android:scaleType="centerCrop"
        android:src="@android:drawable/btn_star_big_on" />

</FrameLayout>

activity_video_viewer:

 <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="#a8c71c"
        tools:context=".activities.VideoTrimmerActivity">

        <com.tomatedigital.instagram.longstories.ui.TrimmerBar
            android:id="@+id/trimmerBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/trimmerBarSelected"
            />
    </FrameLayout>

это логика работает отлично:когда пользователь касается, я определяю, было ли это на каком-либо из больших пальцев, а чехол на левом большом пальце, я настраиваю левое поле thumbsBar , случай на правом, я настраиваю правое поле ...

Так как два вида изображения выровнены по краям, это поведение заставляет их двигаться ... но на самом деле движется весь RelativeLayout

Проблема даже в том, что примыкаетполя и перемещение изображений: относительный макет по-прежнему показывает фон в области полей

, игнорируя весь расчет. Я установил поля, используя:

this.thumbsBar= (RelativeLayout) findViewById(R.id.thumbsBar);
this.thumbsBarLayout = (LayoutParams) this.thumbsBar.getLayoutParams();
this.thumbsBarLayout.leftMargin = this.leftMargin;
this.thumbsBarLayout.rightMargin = this.rightMargin;
this.thumbsBar.setLayoutParams(this.thumbsBarLayout);

===============================================================

ОБНОВЛЕНИЕ:

, чтобы было легче понять

У меня есть это:

enter image description here

Я должен иметь:

enter image description here

1 Ответ

0 голосов
/ 15 мая 2018

com.tomatedigital.instagram.longstories.ui.TrimmerBar имеет тот же фон, что и ваш RelativeLayout, и имеет ширину match_parent. Вы действительно не указываете, как загружается ваш макет, и я предполагаю, что это в вашем пользовательском представлении.

Для теста измените цвет фона пользовательского представления, чтобы увидеть, исходит ли фон, который вы видите на полях, из RelativeLayout или из пользовательского представления. Я предполагаю, что это происходит из пользовательского представления, и изменение цвета фона в пользовательском представлении решит вашу проблему.

...