Как в Андроид приложении поставить границы на весь экран?

Я хочу иметь возможность помещать границы на весь экран моего приложения, примерно так:

Как в Андроид приложении поставить границы на весь экран? как это возможно?

1
0
994
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Обновлено с помощью примера (API 21 или выше):

Шаг 1:

Создайте рамку xml в своем доступном для рисования ресурсе следующим образом:

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

    <item><layer-list>
        <item>
            <shape>
                <stroke android:width = "4dp" android:color = "#FF3B3B"/>
                <solid android:color = "@android:color/transparent"/>
            </shape>
        </item>
    </layer-list>
    </item>

</selector>

Шаг 2:

Измените тему действия в styles.xml, чтобы установить прозрачный цвет строки состояния, как показано ниже:

<style name = "AppTheme" parent = "Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name = "colorPrimary">@color/colorPrimary</item>
        <item name = "colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name = "colorAccent">@color/colorAccent</item>
        <item name = "android:statusBarColor">@android:color/transparent</item>
    </style>

Шаг 3:

Используйте настраиваемую панель инструментов для своей деятельности xml следующим образом:

<?xml version = "1.0" encoding = "utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android = "http://schemas.android.com/apk/res/android"
    xmlns:app = "http://schemas.android.com/apk/res-auto"
    xmlns:tools = "http://schemas.android.com/tools"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    android:background = "@drawable/border"
    tools:context = ".MainActivity">

    <android.support.v7.widget.Toolbar
        android:id = "@+id/toolbar"
        android:layout_width = "match_parent"
        android:layout_marginRight = "4dp"
        android:layout_marginStart = "4dp"
        android:layout_marginLeft = "4dp"
        android:layout_marginEnd = "4dp"
        android:layout_marginTop = "4dp"
        app:layout_constraintTop_toTopOf = "parent"
        app:contentInsetLeft = "0dp"
        app:contentInsetStart = "0dp"
        app:contentInsetRight = "0dp"
        app:contentInsetEnd = "0dp"
        android:layout_height = "wrap_content">

        <LinearLayout
            android:layout_width = "match_parent"
            android:layout_height = "match_parent"
            android:background = "@color/colorPrimary"
            android:orientation = "vertical">
            <ImageView
                android:background = "@color/colorPrimaryDark"
                android:layout_width = "match_parent"
                android:layout_height = "24dp" />
            <TextView
                android:text = "@string/app_name"
                android:textStyle = "bold"
                android:textSize = "16sp"
                android:textColor = "#FFF"
                android:gravity = "center_vertical"
                android:layout_width = "match_parent"
                android:layout_marginStart = "16dp"
                android:layout_height = "?attr/actionBarSize" />

        </LinearLayout>
    </android.support.v7.widget.Toolbar>

    <TextView
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:text = "Hello World!"
        app:layout_constraintBottom_toBottomOf = "parent"
        app:layout_constraintLeft_toLeftOf = "parent"
        app:layout_constraintRight_toRightOf = "parent"
        app:layout_constraintTop_toTopOf = "parent" />

</android.support.constraint.ConstraintLayout>

Шаг 4:

Наконец, в вашей деятельности onCreateMethod,

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        getWindow().getDecorView().setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

    }

И это пример вывода:

Это не то, что мне нужно. Как вы можете видеть в примере, я пытаюсь поставить рамку на весь экран, а не только на внутреннюю компоновку, даже если моя настраиваемая панель инструментов не работает. Это ваш результат ссылка на сайт

Deneb Chorny 09.08.2018 04:15

@DenebChorny, почему вы отметили ответ как принятый, если он не соответствует вашему вопросу? таким образом это будет сбивать с толку других

Mohammad Ali 10.02.2020 09:13

@MohammadAli, ответ был обновлен после комментария Денеба. Пожалуйста, прочтите ответ. Спасибо

MRah 10.02.2020 20:50

@MRah хорошо, спасибо, так как в комментариях больше не было обновлений, я думал, что это не было исправлено

Mohammad Ali 11.02.2020 10:18

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