viewpager内的LinearLayout不尊重重量
我有这个XML文件:viewpager内的LinearLayout不尊重重量
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:orientation="vertical"
android:weightSum="1">
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pager_title_strip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:background="#A00A0A"
android:paddingBottom="4dp"
android:paddingTop="4dp" />
</android.support.v4.view.ViewPager>
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:text="New Switch" />
</LinearLayout>
我的问题是,ViewPager填补了父母的身高,无论设置,或重量我把和开关是没见过
我该如何解决这个问题?
如果你使用体重来表示身高,那么你的身高应该是0dp。试试这个答案。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1">
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pager_title_strip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#A00A0A"
android:paddingBottom="4dp"
android:paddingTop="4dp" />
</android.support.v4.view.ViewPager>
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="New Switch" />
</LinearLayout>
这确实纠正了这一点,我注意到,正如“AndroidEnthusiast”所说,将权重设置为“1”解决了问题 – user1333057 2014-09-29 14:49:11
如果设置viewpager的高度总结的内容,它会没有关系。它就像
android:layout_height="match_parent"
你必须设置一定的维度,例如
android:layout_height="150dp"
,或者你必须设置你的开关对准父母底部,并设置上方的它视图寻呼机。
<?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="match_parent"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true">
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_above="@+id/my_switch">
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pager_title_strip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#A00A0A"
android:paddingBottom="4dp"
android:paddingTop="4dp"
/>
</android.support.v4.view.ViewPager>
<Switch
android:id="@+id/my_switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:layout_weight="1"
android:text="New Switch" />
</RelativeLayout>
我们不能使用layout_alighParentBottom在LinearLayout内切换。 layout_alighParentBottom是RelativeLayout的一个属性。你的回答是错误的。 – 2014-09-29 14:35:06
是的你是对的。我没有意识到。因为您在根视图中使用了android:layout_alignParentBottom =“true” android:layout_centerHorizontal =“true”,因此必须将其更改为相对布局。 – savepopulation 2014-09-29 14:37:21
设置权重为1为视图寻呼机 – AndroidEnthusiast 2014-09-29 14:24:34
谢谢,解决了它! – user1333057 2014-09-29 14:49:57