Как сделать овальную форму для пусковой установки 3's Hotseat dock - PullRequest
0 голосов
/ 21 мая 2018

Здравствуйте, я пытаюсь сделать овальную док-станцию, как показано здесь:

enter image description here

Вот код для hotseat.xml

<?xml version="1.0" encoding="utf-8"?>
<com.android.launcher3.Hotseat
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:launcher="http://schemas.android.com/apk/res-auto">

    <com.android.launcher3.CellLayout
        android:id="@+id/layout"
        android:background="@drawable/dock"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        launcher:containerType="hotseat" />
</com.android.launcher3.Hotseat>

РЕДАКТИРОВАТЬ вот мой обновленный код формы dock.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners android:radius="8dp"/>

    <solid android:color="#ffff" />

    <padding
        android:bottom="0dp"
        android:left="0dp"
        android:right="0dp"
        android:top="0dp" />

    <size
        android:height="20dp"
        android:width="270dp" />

</shape>

Однако, когда я запускаю приложение, док выглядит следующим образом:

enter image description here

Любая помощь будет потрясающей!

Заранее спасибо:)

РЕДАКТИРОВАТЬ:

После установки поля 5dp и удаления размера в форме дока:

enter image description here

РЕДАКТ. 2:

После установки поля 16dp:

enter image description here

1 Ответ

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

Не устанавливайте размер в shape, так как вы установите размер в hotseat (через wrap_content или match_parent).

Поэтому измените ваш док следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >

<corners android:radius="8dp"/>

<solid android:color="#ffff" />

<padding
    android:bottom="0dp"
    android:left="0dp"
    android:right="0dp"
    android:top="0dp" />

</shape>

Затем в вашем hotseat установите поле, например 5dp (измените это значение по мере необходимости):

<com.android.launcher3.Hotseat
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:launcher="http://schemas.android.com/apk/res-auto">

   <com.android.launcher3.CellLayout
       android:id="@+id/layout"
       android:background="@drawable/dock"
       android:layout_width="wrap_content"
       android:layout_height="match_parent"
       android:layout_gravity="center"
       android:layout_margin="5dp"
       launcher:containerType="hotseat" />
   </com.android.launcher3.Hotseat>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...