TabLayout'umda iki sekme oluşturmaya çalışıyorum. İlk sekme profili görüntülemek ve ikinci sekme etkinliği görüntülemek içindir. TabLayout ve ViewPager kurulumum var. Ayrıca iki parçayı tablayout'a bağlamak için gereken adaptörü de oluşturdum. Bunu telefonumda çalıştırdığımda, iki ekran ve sekme görüntülenir, ancak sekme alanı içinde görüntülenmezler - gerçek sekmeleri kapatırlar. Tasarım destek kütüphanesini (v23.1.1) kullanıyorum.Android ViewPager TabLayout'ta görünümler görüntüleniyor
Kullanıcıya ne yapmak istediğine bağlı olarak görünümü değiştiren bir parça alanına sahip bir ana etkinlik dosyasına sahibim.
Sekme içeriğinin sekmelerin üstünde değil sekmelerin içinde görüntülenmesini sağlamak için ne yapabilirim? İşte benim kodudur:
DÜZENLEME:
<RelativeLayout 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="Fragments.ProfileFragment">
<!-- TODO: Update blank fragment layout -->
<android.support.design.widget.TabLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id = "@+id/ProfileTabLayout"
android:background="@color/colorPrimary"
app:tabGravity="fill"
app:tabMode="fixed"
app:tabTextColor="@color/colorIcons"
>
</android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id = "@+id/ProfilePager"
></android.support.v4.view.ViewPager>
user_profile_tab_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimaryLight"
android:layout_alignParentTop="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:src="@drawable/person_profile"
android:layout_margin="5dp"/>
<TextView
style="@style/TextViewStyle"
android:id = "@+id/userTitleTextView"
android:textSize="24sp"
android:textStyle="bold"
android:text = "@string/sample_profile_nameSurname"
/>
<TextView
style="@style/TextViewStyle"
android:id = "@+id/UserTypeTextView"
android:text="@string/sample_user_type"
android:textStyle="bold|italic"
android:textSize="18dp"/>
<TextView
style="@style/EditTexStyle"
android:id = "@+id/profileDeatilsHead"
android:background="@color/colorPrimaryDark"
android:text="@string/sample_profile_details"
android:textColor="@color/colorIcons"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/club_reg_string"
android:id = "@+id/clubNameLabel"
android:layout_alignParentLeft="true"
android:layout_margin="5dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sample_club_string"
android:id = "@+id/clubNameText"
android:layout_toRightOf="@id/clubNameLabel"
android:layout_alignBaseline="@id/clubNameLabel"
android:layout_alignParentRight="true"
android:layout_margin="5dp"/>
</RelativeLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
</RelativeLayout>
: Burada profile_fragment.xml dosyası (ben sekmeler olmasını istediğim budur) 'dir
ProfileFragment - bu bölüm iki sekmeyi görüntülemek için kullanılır.
public class ProfileFragment extends Fragment {
private TabLayout profileTabLayout;
private ViewPager profileViewPager;
private ProfileViewPageAdapter profileViewPageAdapter;
public ProfileFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View myView = inflater.inflate(R.layout.fragment_profile, container, false);
profileTabLayout = (TabLayout) myView.findViewById(R.id.ProfileTabLayout);
profileViewPager = (ViewPager) myView.findViewById(R.id.ProfilePager);
profileViewPageAdapter = new ProfileViewPageAdapter(getFragmentManager());
profileViewPageAdapter.addFragmentWithTitle(new UserProfileTabFragment(), "My Profile");
profileViewPageAdapter.addFragmentWithTitle(new UserActivityTabFragment(), "My Activity");
profileViewPager.setAdapter(profileViewPageAdapter);
profileTabLayout.setupWithViewPager(profileViewPager);
return myView;
}}
UserProfileTabLayout
public class UserProfileTabFragment extends Fragment {
public UserProfileTabFragment()
{
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View myView = inflater.inflate(R.layout.user_profile_tab_layout, container, false);
return myView;
}}
sen içermiyor yayınlanmıştır düzen bir ViewPager veya bir TabLayout. – Karakuri
Şimdi ekledim. – koeks525