如何将视图扩展到底部

时间:2014-08-10 00:04:11

标签: android android-linearlayout android-inflate android-relativelayout

我正在尝试动态地将tabhost扩展到视图的底部;然而,无论我做什么,都会被送到顶端。

    RelativeLayout item = (RelativeLayout) findViewById(R.id.messagesactivityview);
    View child = getLayoutInflater().inflate(R.layout.bottombartabs, null);
    item.addView(child);
    maketabs();

这是我用来充气的代码,这里是我试图膨胀的tabhost的xml文件(注意我已经将layout_alignParentBottom设置为true,但它仍然不起作用)

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabhosty"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal" >

<ImageButton
    android:id="@+id/switchtomessages"
    android:layout_width="0dp"
    android:layout_height="50dp"
    android:layout_marginLeft="-3.5dip"
    android:layout_marginRight="-3.5dip"
    android:layout_weight="1"
    android:background="@drawable/messages_icon" >
</ImageButton>

<ImageButton
    android:id="@+id/switchtorequests"
    android:layout_width="0dp"
    android:layout_height="50dp"
    android:layout_marginLeft="-3.5dip"
    android:layout_marginRight="-3.5dip"
    android:layout_weight="1"
    android:background="@drawable/friend_request_icon" >
</ImageButton>

<ImageButton
    android:id="@+id/switchtofriends"
    android:layout_width="0dp"
    android:layout_height="50dp"
    android:layout_marginLeft="-3.5dip"
    android:layout_marginRight="-3.5dip"
    android:layout_weight="1"
    android:background="@drawable/friends_icon" >
</ImageButton>

<ImageButton
    android:id="@+id/uselesstab"
    android:layout_width="0dp"
    android:layout_height="50dp"
    android:layout_marginLeft="-3.5dip"
    android:layout_marginRight="-3.5dip"
    android:layout_weight="1"
    android:background="@drawable/settings_icon" >
</ImageButton>

</LinearLayout>

如何将其发送到底部

1 个答案:

答案 0 :(得分:1)

将代码更改为

RelativeLayout item = (RelativeLayout) findViewById(R.id.messagesactivityview);
getLayoutInflater().inflate(R.layout.bottombartabs, item);

没有任何已知父级,您在XML树的根元素上声明的所有LayoutParams都将被丢弃。

http://www.doubleencore.com/2013/05/layout-inflation-as-intended/