Привет, я разрабатываю приложение, в котором я использую векторную графику для создания пользовательских фигур, однако моя проблема в том, что первая форма не создается, а вторая форма создается правильно, но не получает полную ширину Вот мой текущий выход и вот что я пытаюсь сделать достигать Пожалуйста, любая помощь будет оценена по достоинству
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>
Привет @pskink, не могли бы вы показать мне, как, потому что с первым вектором я не получаю правильную кривую
используйте inkscape
и создайте свою форму, сохраните в файл .svg, затем импортируйте в студию Android.
Попробуй это
<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 check обновлен и я внес изменения в вектор profile_first_image
, надеюсь, это поможет.
почему бы вам не использовать
<vector>
с двумя<path>
внутри (для белой и желтой формы)?