gpt4 book ai didi

android - TabLayout header 隐藏 fragment 中 ListView 上的第一项

转载 作者:太空狗 更新时间:2023-10-29 16:31:13 32 4
gpt4 key购买 nike

我的 Android 技能有点生疏,我希望有人能帮助我解决这个问题。我有一个带有 ViewPagerTabLayout,可以在 ListView 中滑动具有不同数据的相同 Fragment。一切正常,但我遇到了问题。选项卡标题文本隐藏了 Fragment 的一部分,导致 ListView 的第一个元素被隐藏在后面。我真的试图找到解决这个问题的方法,但我不能,我确定它一定很简单但没有解决方案。如果您需要更多信息,请询问。我有这个 Activity 布局:

<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/>

<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/toolbar"
android:background="?attr/colorPrimary"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

</android.support.design.widget.AppBarLayout>


<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="fill_parent"
/>
</android.support.design.widget.CoordinatorLayout>

这是 Activity 代码:

public class ParadasActivity extends AppCompatActivity 
implements LoaderManager.LoaderCallbacks<Cursor>{
...
@Override
public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor cursor) {
TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);

while (cursor.moveToNext()) {
Tab tab =tabLayout.newTab();
tabLayout.addTab(tab);
}

fragment 代码:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

final View view = inflater.inflate(R.layout.fragment_paradas, container, false);
paradasAdapter = new ParadasAdapter(getActivity(), null, 0);
mListView = (ListView) view.findViewById(R.id.listview_paradas);
mListView.setAdapter(paradasAdapter);

return view;
}

fragment 布局:

<FrameLayout 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"
android:id="@+id/fragment_paradas"
tools:context="com.pikohsoft.android.tussantander.ParadasActivityFragment"
tools:showIn="@layout/activity_paradas">
<ListView android:id="@+id/listview_paradas"
android:layout_height="match_parent"
android:layout_width="match_parent"
/>

寻呼机适配器的代码:

public class SublineasPagerAdapter extends FragmentStatePagerAdapter {
int mNumOfTabs;


public SublineasPagerAdapter(FragmentManager fm, int NumOfTabs, Bundle arguments) {
super(fm);
this.mNumOfTabs = NumOfTabs;
}

@Override
public Fragment getItem(int position) {
ParadasActivityFragment tab1 = new ParadasActivityFragment();
return tab1;
}

@Override
public int getCount() {
return mNumOfTabs;
}

最佳答案

当您使用 CoordinatorLayout 时,它是 ViewGroup 的扩展,因此当您将 ViewPager(或其他类型的 Layout) 在 Z 顺序中它们重叠(并且您看到它们彼此重叠)所以通过使用

app:layout_behavior="@string/appbar_scrolling_view_behavior"

你告诉 CoordinatorLayout 嘿,有点不一样!!!它查看您的 AppBarLayout 并将此布局放在应用栏下方。

关于android - TabLayout header 隐藏 fragment 中 ListView 上的第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38334782/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com