#android #xml #android-layout #android-tabs #android-layoutparams
Вопрос:
Я пытаюсь сосредоточить а TextView
внутри а NestedScrollView
. Это NestedScrollView
часть фрагмента макета с вкладками. Если layout_gravity
для параметра TextView
установлено значение по умолчанию, TextView
оно отображается правильно. Но как только я изменяю его на center
первые несколько строк TextView
, они скрываются за вкладками.
Вот код фрагмента с NestedScrollView
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".Fragment_1">
<TextView
android:id="@ id/frag1_tv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/text_margin"
android:textSize="@dimen/text_medium"
android:textAlignment="center"
android:textColor="@color/black"
android:text="@string/buddha_vandana_mar" />
</androidx.core.widget.NestedScrollView>
А вот код действия с вкладками:
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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"
tools:context=".PrayerActivity">
<androidx.viewpager.widget.ViewPager
android:id="@ id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Theme.BuddhaPoojapathMarathi.AppBarOverlay">
<com.google.android.material.tabs.TabLayout
android:id="@ id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"/>
</com.google.android.material.appbar.AppBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Не могли бы вы, пожалуйста, сказать мне, как я могу центрировать TextView
внутреннюю NestedScrollView
часть, не теряя ее содержимого?
P. S: Я проверил код с помощью fillViewPort=true
, но он не работает.
Значение по умолчанию, которое Android Studio предоставляет после создания действия с вкладками, выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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"
tools:context=".MainActivity2">
<androidx.viewpager.widget.ViewPager
android:id="@ id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Theme.BuddhaPoojaMarathi.AppBarOverlay">
<TextView
android:id="@ id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:minHeight="?actionBarSize"
android:padding="@dimen/appbar_padding"
android:text="@string/app_name"
android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title" />
<com.google.android.material.tabs.TabLayout
android:id="@ id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary" />
</com.google.android.material.appbar.AppBarLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@ id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_dialog_email" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Я удалил только текстовое представление и плавающую кнопку. Удаление Плавающей кнопки ничего не изменило. Но после удаления этого TextView
я столкнулся с проблемой, описанной выше.
Комментарии:
1. Сделайте
LinearLayout
это нижеTabLayout
. НадуйтеNestedScrollView
внутреннююLinearLayout
часть ранее сделанного. Вот и все.2. Не сработало так, как предполагалось.