【问题标题】:Nested viewFlipper Layout嵌套 viewFlipper 布局
【发布时间】:2011-09-14 02:26:41
【问题描述】:

我正在尝试使用 viewflipper 创建自定义选项卡式布局。因此,我需要在屏幕顶部并排放置两个按钮。我有这个。但是,我试图在这两个按钮下方获取 viewFlipper 内容。这是我当前的 XML(不显示文本视图)

        <LinearLayout
 android:id="@+id/linearLayout01" 
 android:layout_width="fill_parent" 
 android:layout_height="fill_parent" 
 android:orientation="vertical"
 android:background="#FAFAFA"
 xmlns:android="http://schemas.android.com/apk/res/android">

    <LinearLayout 
        android:id="@+id/linearLayout02" 
        android:orientation="vertical" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content">
            <Button android:id="@+id/button1" android:text="button 1" android:layout_height="wrap_content" android:layout_width="0dip" layout_weight = ".5"/>
            <Button android:id="@+id/button2" android:text="button 2" android:layout_height="wrap_content" android:layout_width="0dip" layout_weight = ".5"/>
    </LinearLayout>
<RelativeLayout
    android:id="@+id/relativeLayout01"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:layout_below="@id/linearLayout02">
    <ViewFlipper 
        android:layout_height="fill_parent" 
        android:layout_width="fill_parent" 
        android:id="@+id/viewFlipper01">

        <include 
            android:id="@+id/one" 
            layout="@layout/view_one" />
        <include 
            android:id="@+id/two" 
            layout="@layout/view_two" />

    </ViewFlipper>
    </RelativeLayout>
</LinearLayout>

【问题讨论】:

    标签: android xml layout android-layout viewflipper


    【解决方案1】:

    包含按钮的LinearLayout 有一个layout_height="fill_parent"。您需要将其设置为wrap_content,并在父LinearLayout 中指定orientation="vertical"。您还需要为要拉伸以填充的视图指定 layout_weight

    因为linearLayout01 LinearLayout 将其layout_height 设置为fill_parent,android 将使其占用屏幕的重置。下面的内容根本不可见,因为它不在屏幕上。

    <LinearLayout
     android:id="@+id/linearLayout01" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" 
     xmlns:android="http://schemas.android.com/apk/res/android">
    
    <LinearLayout
     android:id="@+id/linearLayout02" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content">
        <Button android:id="@+id/button01" android:layout_height="wrap_content" android:text="Button 1" android:layout_width="0dip" android:layout_weight="1"></Button>
        <Button android:id="@+id/button02" android:layout_height="wrap_content" android:text="Button 2" android:layout_width="0dip" android:layout_weight="1"></Button>
    </LinearLayout>
    
    <RelativeLayout
     android:id="@+id/relativeLayout01" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp"
     android:layout_weight="1">
        <ViewFlipper
            android:id="@+id/flipper01"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            >
        <TextView
            android:id="@+id/textview01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Text"
            />  
            <TextView
            android:id="@+id/textview02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Text2"
            />  
    
        </ViewFlipper>
        </RelativeLayout>
    </LinearLayout>
    

    【讨论】:

    • 我可以看到按钮 应该 所在的大空白区域,底部是 textviews/view/etc。没有按钮。
    • 已更新。在您的 RelativeLayout 上,layout_height 必须是 0dplayout_weight='1'
    • 不,没用。我编辑了我的原始帖子以获得我当前的 XML 文件 - 因为它发生了一些变化。
    【解决方案2】:
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/linearLayout01" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" >   
    
                <Button android:id="@+id/button01" 
        android:layout_height="wrap_content" 
        android:text="Button 1" 
        android:layout_width="0dip" 
        android:layout_weight="1" />
    
        <Button android:id="@+id/button02" 
        android:layout_height="wrap_content" 
        android:text="Button 2" 
        android:layout_width="0dip" 
        android:layout_weight="1" />
    
        <ViewFlipper
        android:id="@+id/flipper01"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    
    
        <RelativeLayout
         android:id="@+id/relativeLayout01" 
         android:layout_width="fill_parent" 
         android:layout_height="0dp"
         android:layout_weight="1">
    
            <!-- Screen 1: Wherever view you want to display on the first screen -->
        </RelativeLayout>
        <RelativeLayout
         android:id="@+id/relativeLayout02" 
         android:layout_width="fill_parent" 
         android:layout_height="0dp"
         android:layout_weight="1">
    
            <!-- Screen 2: Wherever view you want to display on the second screen -->
        </RelativeLayout>
    
    </ViewFlipper></LinearLayout> 
    

    通常,您必须在 ViewFlipper 中包含您想要显示的两个或多个布局,例如,单击一个按钮以及您想在整个屏幕中看到的任何内容,写入 ViewPager 标记之外。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 2011-05-21
      • 1970-01-01
      相关资源
      最近更新 更多