你好我正在开发一个ios风格的应用程序,它的底部布局很好我似乎无法将这个布局置于底部
这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="10"
tools:context=".MyActivity"
tools:ignore="UselessLeaf,ContentDescription" >
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_marginBottom="5dp"
android:layout_weight="7" >
</android.support.v4.view.ViewPager>
<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/pagerIndicator"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.5"
android:padding="3dp" />
<LinearLayout
android:id="@+id/layout11"
android:layout_width="match_parent"
android:layout_height="30dip"
android:background="@drawable/dock"
android:layout_gravity="bottom"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center|bottom"
tools:ignore="NestedWeights" >
<ImageView
android:id="@+id/dial"
android:layout_width="wrap_content"
android:layout_height="10dp"
android:layout_gravity="center_horizontal|center"
android:src="@drawable/dialer"
tools:ignore="ContentDescription" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:layout_weight="1" >
<ImageView
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="10dp"
android:layout_gravity="center_horizontal|center"
android:src="@drawable/back" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal|center"
android:layout_weight="1" >
<ImageView
android:id="@+id/sms"
android:layout_width="wrap_content"
android:layout_height="10dp"
android:layout_gravity="center_horizontal|center"
android:src="@drawable/mms" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal|center"
android:layout_weight="1" >
<ImageView
android:id="@+id/music"
android:layout_width="wrap_content"
android:layout_height="10dp"
android:src="@drawable/music"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
这就是现在的样子: IMAGE
我想要页面底部的按钮
我做错了什么?
请让我知道
感谢一百万次
克里斯
答案 0 :(得分:1)
正如Hesam的回答指出,当您在第二个布局中使用layout_weight
属性时,您应该使用layout_height=0dp
...如果您使用的是Android Studio,那么它应该会给您一个警告它。但是,我想补充一点,你的答案是整个布局文件还有很大的改进空间......我的意思是很多!你有我称之为无用嵌套布局的spaguetti。提一些
LinearLayout
绝对无用......它是空的,不需要LinearLayout
可以轻松转换为RelativeLayout
,然后使用layout_alignParentBottom=true
将最底部的子视图推到底部,最后将所有其他子项堆叠在此底部使用layout_above
LinearLayout
和一个孩子......恕我直言,这是没用的RelativeLayout
只有一个孩子...恕我直言这也没用了我可以永远继续,但你真的应该解决这些嵌套的布局问题,因为你在你的UI中添加了很多不必要的开销......这是非常沉重的人
这就是我的建议
RelativeLayout
作为根/顶部布局ListView
以显示所有这些图片/图标,并将layout_alignParentTop=true
设为layout_height=wrap_content
LinearLayout
以显示按钮答案 1 :(得分:0)
当你使用android:layout_weight =“1”时,android:layout_width或android:layout_height应该等于0dp。在你的情况下,第二个线性布局应该是android:layout_height =“0dp”
答案 2 :(得分:0)
您可以使用RelativeLayout作为父级,然后使用alignParentBottom =“true”但是我不完全确定您要实现的目标,即它应该是什么样的。
答案 3 :(得分:0)
您可以使用RelativeLayout而不是LinearLayout作为根布局,然后设置android:layout_alignParentBottom =&#34; true&#34;到底部布局