Возможно ли иметь круговую активность?

Мы знаем, что форма действий по умолчанию в Android прямоугольная. Я сделал модальное действие, используя следующий стиль:

<style name="Theme.TransparentD0" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/semi_transparentD0</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">false</item>
    </style>

Теперь у меня есть прямоугольная модальная активность. Можно ли создать модальную активность круглой формы? Как?

Я имею в виду, что я хочу изменить форму моей модальной Деятельности на Круг.

1 ответ

Решение

Вы можете создать Dialog основан Activity,

Установить тему для вашего Activity в AndroidManifest.xml:

<android:name="YourActivity"
   ...
   android:theme="@android:style/Theme.Dialog"/>

в YourActivity class создай свою карусель Gallery

Создайте такой макет для Activity:

Это пример макета:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res/com.sits.TaxiMoldova"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:background="@android:color/transparent">

    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/backgroundCircleImage"
            android:background="@drawable/bg"
            android:layout_centerInParent="true"/>

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_centerInParent="true"
            android:id="@+id/contentLayout"
            android:background="@android:color/transparent">

        <Button
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="button 1"
                android:id="@+id/button"/>

        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="button 2"
                android:id="@+id/button1"
                android:layout_gravity="center"/>
    </LinearLayout>

</RelativeLayout>

Ресурсы: круг с прозрачным фоном

Результат:

Фон не черный, 100%. Вместо этого черного фона будет ваша активность (родитель модальной активности). Это идея, поиграйся с пропорциями и все будет хорошо:)

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