Curved Vector Drawable не получает полную ширину

Привет, я разрабатываю приложение, в котором я использую векторную графику для создания пользовательских фигур, однако моя проблема в том, что первая форма не создается, а вторая форма создается правильно, но не получает полную ширину Вот мой текущий выход и вот что я пытаюсь сделать достигать Пожалуйста, любая помощь будет оценена по достоинству

main.xml

<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
    xmlns:tools = "http://schemas.android.com/tools"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    xmlns:app = "http://schemas.android.com/apk/res-auto"
    android:orientation = "vertical"
    tools:context = "com.ct.listrtrial.fragments.ProfileFragment">
<FrameLayout
    android:layout_width = "match_parent"
    android:layout_height = "match_parent">
    <ImageView
        android:layout_width = "match_parent"
        android:layout_height = "250dp"
        android:src = "@drawable/profile_first_image"/>
    <ImageView
        android:layout_width = "match_parent"
        android:layout_height = "170dp"
        android:src = "@drawable/profile_second_image"/>
    <de.hdodenhof.circleimageview.CircleImageView
        android:layout_width = "146dp"
        android:layout_height = "146dp"
        android:src = "@drawable/ellipse2"
        android:layout_gravity = "center"
        />
    <ImageView
        android:layout_width = "40dp"
        android:layout_height = "40dp"
        android:layout_gravity = "right"
        android:src = "@drawable/pencil"/>
</FrameLayout>

</LinearLayout>

и два моих векторных рисунка

profile_first_image.xml

<vector xmlns:android = "http://schemas.android.com/apk/res/android"
    android:width = "248dp"
    android:height = "148dp"
    android:viewportHeight = "12"
    android:viewportWidth = "12">

    <path
        android:fillColor = "#f1c40f"
        android:pathData = "M 0,0 L 0,11 C 1,12 5,12 8,12 C 12,12 12,11 12,11 L 12,0 0,0"
        android:strokeWidth = "0.1"/>

</vector>

profile_second_image.xml

<shape
    xmlns:android = "http://schemas.android.com/apk/res/android"
    android:shape = "rectangle">
    <solid android:color = "#FFFFFF"/>
    <size
        android:width = "30dp"
        android:height = "15dp"/>
    <corners
        android:bottomLeftRadius = "20dp"
        android:bottomRightRadius = "20dp"/>
</shape>

почему бы вам не использовать <vector> с двумя <path> внутри (для белой и желтой формы)?

pskink 02.05.2018 08:13

Привет @pskink, не могли бы вы показать мне, как, потому что с первым вектором я не получаю правильную кривую

john 02.05.2018 08:18

используйте inkscape и создайте свою форму, сохраните в файл .svg, затем импортируйте в студию Android.

pskink 02.05.2018 08:19
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
452
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуй это

    <LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    android:background = "@color/colorAccent"
    android:orientation = "vertical">

    <RelativeLayout
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:background = "@color/colorAccent">

        <RelativeLayout
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:background = "@drawable/profile_first_image">

            <ImageView
                android:layout_width = "match_parent"
                android:layout_height = "250dp"
                android:src = "@drawable/profile_first_image"
                android:visibility = "gone" />

            <ImageView
                android:id = "@+id/second_image"
                android:layout_width = "match_parent"
                android:layout_height = "170dp"
                android:layout_marginBottom = "20dp"
                android:scaleType = "centerCrop"
                android:src = "@drawable/profile_second_image" />


            <ImageView
                android:layout_width = "40dp"
                android:layout_height = "40dp"
                android:layout_alignParentRight = "true"
                android:layout_marginRight = "30dp"
                android:layout_marginTop = "10dp"
                android:src = "@drawable/goku3" />


        </RelativeLayout>


        <de.hdodenhof.circleimageview.CircleImageView
            android:layout_width = "146dp"
            android:layout_height = "146dp"
            android:layout_alignParentEnd = "true"
            android:layout_alignParentTop = "true"
            android:layout_marginEnd = "96dp"
            android:layout_marginTop = "113dp"
            android:src = "@drawable/kid_goku" />


    </RelativeLayout>

    <LinearLayout
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:orientation = "vertical">

        <TextView
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:text = "Nilesh" />

        <TextView
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:text = "Nilesh" />

        <TextView
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:text = "Nilesh" />

        <TextView
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:text = "Nilesh" />

        <TextView
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:text = "Nilesh" />

        <TextView
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:text = "Nilesh" />

    </LinearLayout>
</LinearLayout>

android:src = "@drawable/profile_second_image"

<shape
    xmlns:android = "http://schemas.android.com/apk/res/android"
    android:shape = "rectangle">
    <solid android:color = "#FFFFFF"/>
    <size
        android:width = "30dp"
        android:height = "15dp"/>
    <corners
        android:bottomLeftRadius = "20dp"
        android:bottomRightRadius = "20dp"/>
</shape>

android:src = "@drawable/profile_first_image"

    <vector xmlns:android = "http://schemas.android.com/apk/res/android"
    android:width = "248dp"
    android:height = "148dp"
    android:viewportHeight = "12"
    android:viewportWidth = "12">

    <path
        android:fillColor = "#f1c40f"
        android:pathData = "M 0,0 L 0,8 C 1,12 5,12 8,12 C 10,12 12,11 15,1 L 12,0 0,0"
        android:strokeWidth = "0.1"/>

</vector>

ВЫХОД

Привет, @Nilesh, но как я могу сделать фон полностью кривым, как на изображении imgur.com/a/KmpR3LY

john 02.05.2018 08:38

@john check обновлен и я внес изменения в вектор profile_first_image, надеюсь, это поможет.

AskNilesh 02.05.2018 08:47

Другие вопросы по теме