【问题标题】:RelativeLayout is not visible with ViewPager in Android在 Android 中使用 ViewPager 看不到 RelativeLayout
【发布时间】:2018-01-11 03:43:00
【问题描述】:

我想通过RelativeLayout 使屏幕顶部可见,以垂直显示两个TextView,并在下方显示ViewPager,但不知何故ViewPager 适合所有屏幕空间。

如何解决?谢谢!

<FrameLayout 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:orientation="vertical"
    tools:context="android.apps.abc.company.tracks.Activities.UnitDetailsActivity">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         >

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >

            <TextView
                android:id="@+id/textViewUnitName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Device"
                android:textSize="20dp" />

            <TextView
                android:id="@+id/textViewDriverName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="User"
                android:textSize="18dp" />

        </RelativeLayout>


        <android.support.v4.view.ViewPager
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

            <android.support.v4.view.PagerTitleStrip
                android:id="@+id/pager_title_strip_ud"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="top"
                android:background="#33b5e5"
                android:paddingBottom="6dp"
                android:paddingTop="6dp"
                android:textColor="#fff" />


        </android.support.v4.view.ViewPager>

    </RelativeLayout>

</FrameLayout>

【问题讨论】:

  • 您只需要使用一种Relative布局,并将下面的viewpager设置为第二个textview。

标签: android android-layout android-viewpager android-relativelayout


【解决方案1】:

试试这个,

<FrameLayout 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:orientation="vertical"
 >

    <RelativeLayout

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >

        <RelativeLayout
            android:id="@+id/rel_main"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >

            <TextView
                android:id="@+id/textViewUnitName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Device"
                android:textSize="20dp" />

            <TextView
                android:id="@+id/textViewDriverName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="User"
                android:layout_marginStart="10dp"
                android:layout_toEndOf="@+id/textViewUnitName"
                android:textSize="18dp" />

        </RelativeLayout>


        <android.support.v4.view.ViewPager
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/rel_main"
            android:layout_marginTop="10dp"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

            <android.support.v4.view.PagerTitleStrip
                android:id="@+id/pager_title_strip_ud"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="top"
                android:background="#33b5e5"
                android:paddingBottom="6dp"
                android:paddingTop="6dp"
                android:textColor="#fff" />


        </android.support.v4.view.ViewPager>

    </RelativeLayout>

</FrameLayout>

【讨论】:

    【解决方案2】:

    试试这个方法:

    <LinearLayout 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:orientation="vertical">
    
    
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">
    
        <TextView
            android:id="@+id/textViewUnitName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Device"
            android:textSize="20dp" />
    
        <TextView
            android:id="@+id/textViewDriverName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="User"
            android:textSize="18dp" />
    
    </LinearLayout>
    
    
    <android.support.v4.view.ViewPager
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">
    
        <android.support.v4.view.PagerTitleStrip
            android:id="@+id/pager_title_strip_ud"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:background="#33b5e5"
            android:paddingBottom="6dp"
            android:paddingTop="6dp"
            android:textColor="#fff" />
    
    
    </android.support.v4.view.ViewPager>
    
    
    </LinearLayout>
    

    希望这对你有所帮助......如果你需要任何帮助,你可以问

    【讨论】:

      【解决方案3】:

      您也可以进行此更改,而无需包含额外的相对父视图组。

      <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"
      android:orientation="vertical"
      tools:context="android.apps.abc.company.tracks.Activities.UnitDetailsActivity">
      
          <RelativeLayout
               android:id="@+id/rlSubParent"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:orientation="vertical"
              >
      
              <TextView
                  android:id="@+id/textViewUnitName"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="Device"
                  android:textSize="20dp" />
      
              <TextView
                  android:id="@+id/textViewDriverName"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="User"
                  android:textSize="18dp" />
      
          </RelativeLayout>
      
          <android.support.v4.view.ViewPager
              android:id="@+id/container"
              android:layout_below="@+id/rlSubParent"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              app:layout_behavior="@string/appbar_scrolling_view_behavior">
      
              <android.support.v4.view.PagerTitleStrip
                  android:id="@+id/pager_title_strip_ud"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:layout_gravity="top"
                  android:background="#33b5e5"
                  android:paddingBottom="6dp"
                  android:paddingTop="6dp"
                  android:textColor="#fff" />
      
          </android.support.v4.view.ViewPager>
      
      </RelativeLayout>
      

      【讨论】:

        【解决方案4】:
           You can make using only one relative layout. 
           <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"
                        android:orientation="vertical">
        
                        <TextView
                            android:id="@+id/textViewUnitName"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Device"
                            android:textSize="20dp" />
        
                        <TextView
                            android:id="@+id/textViewDriverName"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/textViewUnitName"
                            android:text="User"
                            android:layout_marginStart="10dp"
                            android:layout_toEndOf="@+id/textViewUnitName"
                            android:textSize="18dp" />
        
        
                    <android.support.v4.view.ViewPager
                        android:id="@+id/container"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_below="@+id/textViewDriverName"
                        android:layout_marginTop="10dp"
                        app:layout_behavior="@string/appbar_scrolling_view_behavior">
        
                        <android.support.v4.view.PagerTitleStrip
                            android:id="@+id/pager_title_strip_ud"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="top"
                            android:background="#33b5e5"
                            android:paddingBottom="6dp"
                            android:paddingTop="6dp"
                            android:textColor="#fff" />
        
        
                    </android.support.v4.view.ViewPager>
        
                </RelativeLayout>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多