问题描述
|
我正在尝试使用Viewflipper创建自定义选项卡式布局。因此,我需要在屏幕顶部并排放置两个按钮。我有这个。但是,我试图使这两个按钮下面的viewFlipper内容。这是我当前的XML(不显示textviews)
<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>
解决方法
包含按钮的
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>
, <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标记之外编写。