#java #android #xml #android-layout
#java #Android #xml #android-макет
Вопрос:
Как правильно настроить GridView на панели инструментов. Я хочу margin
, чтобы он был "0dp"
на всех устройствах. Как это сделать?
Я пытался установить marginTop
, но на устройствах с большим экраном GridView закрывает панель инструментов. На отдельных устройствах это выглядит по-разному.
<?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/background"
tools:context="MainActivity">
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@ id/toolbar"
android:background="#000000"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:title="Application"/>
<GridView
android:id="@ id/gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/toolbar"
android:layout_marginTop="56dp"
android:horizontalSpacing="8dp"
android:numColumns="2"
android:verticalSpacing="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"></GridView>
</android.support.constraint.ConstraintLayout>
Комментарии:
1. О, извините за неправильный тег.
Ответ №1:
Вы можете использовать относительный макет. Внутри относительного макета вы размещаете свою панель инструментов и свой GridView.
Внутри GridView напишите эту строку :
android:layout_below="@id/toolbar"
он поместит GridView под панель инструментов.
Вот так :
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@ id/toolbar"
android:background="#000000"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:title="Application"/>
<GridView
android:id="@ id/gridview"
android:layout_width="match_parent"
android:layout_below="@id/toolbar"
android:layout_height="match_parent"
android:layout_below="@id/toolbar"
android:horizontalSpacing="8dp"
android:numColumns="2"
android:verticalSpacing="8dp"></GridView>
</RelativeLayout>
У вас есть 2 варианта :
1) Вы можете просто опубликовать этот код внутри своего макета ограничений и ввести нужную команду (относящуюся к constraintlayout) в RelativeLayout
2) Непосредственно замените ConstraintLayout на RelativeLayout (в данном случае я рекомендую вам этот метод, его намного проще кодировать)