Как получить кнопку в Android Studio, чтобы она оставалась на месте и не исчезала при использовании экранов разных размеров? - PullRequest
0 голосов
/ 15 марта 2020

Я работаю над приложением чата, но не могу получить кнопку, чтобы остаться в фиксированном положении, когда я запускаю приложение на телефоне другого типа. (По сути, он кажется слишком левым или полностью обрезан).

Я совершенно новичок в android разработке, поэтому вам, вероятно, придется разбить его для меня. :)

вот код, который я использую:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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="@color/colorPrimary"
   tools:context=".MainActivity">

   <androidx.constraintlayout.widget.ConstraintLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       app:layout_constraintBottom_toBottomOf="parent"
       app:layout_constraintEnd_toEndOf="parent"
       app:layout_constraintStart_toStartOf="parent"
       app:layout_constraintTop_toTopOf="parent">

       <com.google.android.material.appbar.AppBarLayout
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           app:layout_constraintEnd_toEndOf="parent"
           app:layout_constraintStart_toStartOf="parent"
           app:layout_constraintTop_toTopOf="parent">

           <androidx.appcompat.widget.Toolbar
               android:id="@+id/toolbar_main"
               android:layout_width="match_parent"
               android:layout_height="?attr/actionBarSize"
               android:background="?attr/colorPrimary">

               <TextView
                   android:id="@+id/user_name"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:layout_marginStart="26dp"
                   android:text="Messages"
                   android:textColor="@android:color/white"
                   android:textSize="30sp"
                   android:textStyle="bold" />

               <Button
                   android:id="@+id/menu_popup"
                   android:layout_width="30dp"
                   android:layout_height="30dp"
                   android:layout_marginStart="160dp"
                   android:background="@drawable/rounded_button"
                   android:drawableStart="@drawable/persistent_dots" />

               <Button
                   android:id="@+id/message_new"
                   android:layout_width="30dp"
                   android:layout_height="30dp"
                   android:layout_marginStart="5dp"
                   android:background="@drawable/rounded_button"
                   android:drawableStart="@drawable/temp_replace" />

           </androidx.appcompat.widget.Toolbar>

       </com.google.android.material.appbar.AppBarLayout>

       <androidx.viewpager.widget.ViewPager
           android:id="@+id/view_pager"
           android:layout_width="match_parent"
           android:layout_height="match_parent">

       </androidx.viewpager.widget.ViewPager>


   </androidx.constraintlayout.widget.ConstraintLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

Я также обновил приведенный выше код, чтобы отразить последние изменения

Вот некоторые изображения, которые показывают кнопки при установке на другой экран размеры.

Вот первое изображение с нормальным размером экрана

Вот изображение с другим размером экрана, примененное к кнопкам

1 Ответ

0 голосов
/ 17 марта 2020

Вы используете либо представление прокрутки, либо представление ограничений, попробуйте следующее:

   <?xml version="1.0" encoding="utf-8"?>

  <constraintLayout
  android:layout_width="match_parent"
   android:layout_height="wrap_content">  
    <com.google.android.material.appbar.AppBarLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:theme="@style/AppTheme.AppBarOverlay"
   app:layout_constraintEnd_toEndOf="parent"
   app:layout_constraintStart_toStartOf="parent"
   app:layout_constraintTop_toTopOf="parent">

   <androidx.appcompat.widget.Toolbar
       android:id="@+id/toolbar_main"
       android:layout_width="match_parent"
       android:layout_height="?attr/actionBarSize"
       android:background="?attr/colorPrimaryDark"
       app:popupTheme="@style/AppTheme.PopupOverlay">

       <TextView
           android:id="@+id/user_name"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_marginStart="26dp"
           android:text="Messages"
           android:textColor="@android:color/white"
           android:textSize="30sp"
           android:textStyle="bold"/>

       <Button
           android:id="@+id/menu_popup"
           android:layout_width="30dp"
           android:layout_height="30dp"
           android:layout_marginStart="160dp"
           android:drawableStart="@drawable/persistent_dots"
           android:background="@drawable/roundedbutton" />

       <Button
           android:id="@+id/message_new"
           android:layout_width="30dp"
           android:layout_height="30dp"
           android:layout_marginStart="5dp"
           android:drawableStart="@drawable/persistent_new_message"
           android:background="@drawable/roundedbutton" />

   </androidx.appcompat.widget.Toolbar>

  </com.google.android.material.appbar.AppBarLayout>

 <androidx.viewpager.widget.ViewPager
   android:id="@+id/view_pager"
   android:layout_width="match_parent"
   android:layout_height="match_parent">

 </androidx.viewpager.widget.ViewPager>

 <include layout="@layout/content_main" />


 </constraintLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...