Android,自定义视图类失调线性布局的权重

时间:2013-04-08 06:16:16

标签: android android-linearlayout android-custom-view

Linear Layout and weight in Android

可能重复

您好,

我有一个奇怪的问题。我设计了一个自定义小部件,它具有带三个按钮的线性布局。它的代码是这样的:

<?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="wrap_content"
    android:orientation="horizontal"
    android:weightSum="3" >

    <ToggleButton
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:id="@+id/tbBrowse"
        android:background="@drawable/btn_tg_browse"
        android:textOn=""
        android:textOff=""
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:checked="false"
        android:gravity="bottom"/>

    <ToggleButton
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:id="@+id/tbHotSpot"
        android:background="@drawable/btn_tg_hotspot"
        android:textOn=""
        android:textOff=""
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:checked="true"
        android:gravity="bottom"/>

    <ToggleButton
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:id="@+id/tbMatches"
        android:background="@drawable/btn_tg_matches"
        android:textOn=""
        android:textOff=""
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:checked="false"
        android:gravity="bottom"/>

</LinearLayout>

它的外观和感觉似乎没问题:

enter image description here

我已将此小部件添加到我的班级(android:id =&#34; @ + id / Footer&#34;):

<?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:background="@color/White">

    <view
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        class="com.belldigital.widget.HeaderBar"
        android:id="@+id/Header"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" />

    <view
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        class="com.belldigital.widget.FooterBar"
        android:id="@+id/Footer"
        android:layout_alignParentBottom="true" />

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/Header"
        android:layout_above="@id/Footer"/>


</RelativeLayout>

因为,在视图中没有定义重力&#39;声明我期望看到与第一张图像相同的外观和感觉,但我在模拟器和真实设备中都看到了以下图像。

enter image description here

你怎么想?如果我根据相对布局重新设计我的小部件可能没问题。但是,我目前的设计是好的,但为什么要观看&#39;小部件混乱我的安排? 任何意见/建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

我在'视图'上面改变了以下然后我的问题解决了,神奇地说:)

<view
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        class="com.belldigital.widget.FooterBar"
        android:id="@+id/Footer"
        android:layout_alignParentBottom="true"
        android:orientation="vertical"/>