【发布时间】:2021-08-10 11:42:33
【问题描述】:
我在我的应用中实现了一个选项卡布局。并为每个选项卡创建了 3 个片段。所有片段都包含一个TextView,它是NestedScrollView 的子代。一切都按预期工作,直到传递给TextView 的字符串足够大并且需要滚动才能完全查看。当时TextView里面的文字隐藏在标签后面。
我已经尝试过这里提供的答案:Fragment from View Pager hiding behind Tab Bar 无济于事。
这是我的代码:
<?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">
<!--<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>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
这是其中的一个片段:
<?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:layout_gravity="center"
android:textAlignment="center"
android:textColor="@color/black"
android:paddingTop="48dp"
android:text="@string/buddha_vandana_mar" />
</androidx.core.widget.NestedScrollView>
如图所示,文本的第一部分隐藏在选项卡后面。
更新:
PrayerActivity.java
public class PrayerActivity extends AppCompatActivity {
private ActivityPrayerBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int num = getIntent().getIntExtra("num", 0);
Bundle bundle = new Bundle();
bundle.putInt("num", num);
Log.d("myInt", String.valueOf(num));
binding = ActivityPrayerBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
SectionsPagerAdapter sectionsPagerAdapter = new SectionsPagerAdapter(this, getSupportFragmentManager(), num);
ViewPager viewPager = binding.viewPager;
viewPager.setAdapter(sectionsPagerAdapter);
TabLayout tabs = binding.tabs;
tabs.setupWithViewPager(viewPager);
}
}
【问题讨论】:
-
请在活动中添加您的代码
-
它可以滚动吗?
-
是的@TicherhazFreePalestine,它是可滚动的。
-
我可以知道你为什么使用
CoordinatorLayout吗? -
这是 android studio 中新的选项卡式活动附带的默认布局。
标签: android xml android-layout android-viewpager android-tabs