Пользовательская форма Linearlayout с изогнутой стороной в android
Я пытаюсь создать пользовательскую форму linearlayout, как показано ниже
![введите описание изображения здесь]()
Я пытаюсь сделать только одну сторону изогнутой. Пробовал с угловым радиусом, но он не дает того же вида, что и выше.
Уже пробовал эту фоновую форму, как показано ниже: -
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#3F51B5" />
<padding
android:bottom="7dp"
android:left="7dp"
android:right="7dp"
android:top="7dp" />
<corners
android:bottomLeftRadius="50dp"
android:bottomRightRadius="50dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
</shape>
он округляет только углы и при увеличении формы значения не сохраняется, он становится слишком круговым. Я ХОЧУ КРИВЫХ линий, а не закругленных углов
Ответы
Ответ 1
Создайте файл формы в папке с возможностью переноса, например: my_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:bottomLeftRadius="100dp"
android:bottomRightRadius="100dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<padding
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp" />
<stroke
android:width="0.5dp"
android:color="@color/theme_red" />
<solid android:color="@color/white" />
</shape>
затем добавьте эту фигуру в свой макет в качестве фона. например:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/my_shape"
android:orientation="horizontal">
</LinearLayout>
Ответ 2
что я сделал
создать растягиваемый allowaccess_button_normal.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="@color/colorPrimary"/>
</shape>
</item>
</selector>
Попробуйте под макетом
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:background="#fefefe"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:background="@color/colorPrimary"
android:layout_height="110dp">
</RelativeLayout>
<ImageView
android:layout_marginTop="85dp"
android:src="@drawable/allowaccess_button_normal"
android:layout_width="match_parent"
android:layout_height="50dp" />
</RelativeLayout>
![введите описание изображения здесь]()
Ответ 3
Его очень поздно уже, но это для будущих ищущих.
Я думаю, что векторные чертежи являются самым идеальным решением для этого. Используйте ниже вектор в качестве фона, чтобы получить выполненную в форме фигуры нижнего изогнутого макета.
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="100.0"
android:viewportWidth="200.0">
<path
android:fillColor="#YOUR_FAVORITE_COLOR"
android:pathData="M200,0H0v4.5h0v75.8h0c17.8,10.2 56,17.2 100.5,17.2c44.5,0 81.6,-7 99.5,-17.2h0V4.5h0V0z" />
Ответ 4
<layer-lisxmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="175dp">
<shape android:shape="oval">
<gradient
android:angle="135"
android:startColor="#f56f2c"
android:endColor="#fa9f46"/>
</shape>
</item>
<item android:bottom="40dp">
<shape android:shape="rectangle">
<gradient
android:angle="135"
android:startColor="#f56f2c"
android:endColor="#fa9f46"/>
</shape>
</item>
</layer-list>
Ответ 5
вы можете установить размер в значении -dimension.xml fime, а затем установить его в свой xml вашего linearlayout, он даст следующее, как это
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#FFFF00" />
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
просто сделайте xml файл в своем нарисованном наборе нужного размера, а затем вызовите его по вашей линейной компоновке
Ответ 6
Используя эту библиотеку, мы можем создать несколько видов представлений
как - RoundRectangle, ClipCorner, дуги, диагонали, треугольника и т.д.
Ответ 7
Вы можете применить изображение в фоновом режиме