1

我得到以下布局:

 <com.htc.idlescreen.base.widget.WorkspaceView android:id="@id/workspace" android:layout_width="fill_parent" android:layout_height="fill_parent">
    <com.htc.idlescreen.base.widget.IdleViewContainer android:id="@id/background" android:layout_width="fill_parent" android:layout_height="fill_parent" />
    <RelativeLayout android:orientation="vertical" android:id="@id/unlockscreen_background" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <ImageView android:id="@id/unlockbg_below" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <ImageView android:id="@id/unlockbg_upper" android:layout_width="fill_parent" android:layout_height="wrap_content" />
    </RelativeLayout>
    <LinearLayout android:orientation="vertical" android:id="@id/shortcut_shadowbg" android:layout_width="fill_parent" android:layout_height="@dimen/shortcut_shadowbg_height" android:layout_alignParentBottom="true">
        <ImageView android:id="@id/shortcut_bg_upper" android:background="@drawable/lockscreen_shadow" android:layout_width="fill_parent" android:layout_height="@dimen/shortcut_shadowbg_upper_height" />
        <ImageView android:id="@id/shortcut_bg_below" android:background="#33000000" android:layout_width="fill_parent" android:layout_height="0.0px" android:layout_weight="1.0" />
    </LinearLayout>
    <ImageView android:id="@id/button_shadowbg" android:background="@drawable/lockscreen_shadow_action" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/button_shadowbg_height" android:layout_alignParentBottom="true" />
    <com.htc.idlescreen.base.ui.ForegroundContainer android:id="@id/foregroundcontainer" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <com.htc.idlescreen.base.widget.IdleViewContainer android:id="@id/plugin" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <com.htc.idlescreen.base.ui.MainContain android:id="@id/maincontain" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/shortcut_height" android:layout_alignParentBottom="true" />
        <com.htc.idlescreen.base.ui.HeadBar android:id="@id/headerbar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" />
        <com.htc.idlescreen.base.ui.ChargeView android:id="@id/chargeview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/chargeview_margintop" android:layout_below="@id/headerbar" />
    </com.htc.idlescreen.base.ui.ForegroundContainer>
    <include android:id="@id/buttonfooter" layout="@layout/buttonfooter" />
</com.htc.idlescreen.base.widget.WorkspaceView>

我想删除这里添加的视图:

<include android:id="@id/buttonfooter" layout="@layout/buttonfooter" />

我试图在 Workspace 类中将可见性设置为 GONE 和 removeView(buttonfooter) 。

视图可以很好地删除,但它仍会保留空间并显示一个空白字段。

试图将 layout_height 设置为 wrap_content 并调用 invalidate()。还没有成功。

任何帮助表示赞赏。谢谢!

编辑:

按钮页脚.xml

    <com.htc.idlescreen.base.ui.footer.ButtonFooter android:gravity="bottom" android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true"
          xmlns:android="http://schemas.android.com/apk/res/android">
            <com.htc.idlescreen.base.ui.footer.LockIcon android:id="@id/lockiconsphere" android:layout_width="@dimen/lockicon_width" android:layout_height="@dimen/shortcut_height" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true">
                <ImageView android:id="@id/lock_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/lockicon_margin_left" android:scaleType="centerInside" android:layout_centerVertical="true" />
            </com.htc.idlescreen.base.ui.footer.LockIcon>
            <com.htc.idlescreen.base.ui.footer.ShortcutPanel android:orientation="vertical" android:id="@id/shortcut_panel" android:layout_width="fill_parent" android:layout_height="@dimen/shortcut_panel_height" android:layout_alignParentBottom="true">
                <ImageView android:id="@id/shortcut_divider" android:background="@drawable/home_all_apps_div" android:layout_width="fill_parent" android:layout_height="@dimen/shortcut_divide_height" />
                <LinearLayout android:orientation="horizontal" android:paddingLeft="@dimen/shortcut_panel_padding_left" android:paddingRight="@dimen/shortcut_panel_padding_right" android:layout_width="fill_parent" android:layout_height="@dimen/shortcut_height">
                    <com.htc.idlescreen.base.ui.footer.ShortcutSphere android:id="@id/shortcutpanel_shortcut_01" android:layout_width="@dimen/shortcut_width" android:layout_height="@dimen/shortcut_height" />
                    <com.htc.idlescreen.base.ui.footer.ShortcutSphere android:id="@id/shortcutpanel_shortcut_02" android:layout_width="@dimen/shortcut_width" android:layout_height="@dimen/shortcut_height" />
                    <View android:layout_width="@dimen/shortcut_center_space" android:layout_height="@dimen/shortcut_height" />
                    <com.htc.idlescreen.base.ui.footer.ShortcutSphere android:id="@id/shortcutpanel_shortcut_03" android:layout_width="@dimen/shortcut_width" android:layout_height="@dimen/shortcut_height" />
                    <com.htc.idlescreen.base.ui.footer.ShortcutSphere android:id="@id/shortcutpanel_shortcut_04" android:layout_width="@dimen/shortcut_width" android:layout_height="@dimen/shortcut_height" />
                </LinearLayout>
            </com.htc.idlescreen.base.ui.footer.ShortcutPanel>
            <com.htc.idlescreen.base.ui.footer.ReminderPanel android:layout_gravity="bottom" android:id="@id/reminder_panel" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" />
        </com.htc.idlescreen.base.ui.footer.ButtonFooter>

编辑2:

尝试隐藏它:(不是原​​始代码,在工作atm)

public class WorkspaceView extends RelativeLayout
    {

        public void init(WorkspaceCtrl paramWorkspaceCtrl)
        {
            mButtonFooter = ((ButtonFooter)findViewById(R.id.buttonfooter));


                            setFooterVisibility(View.GONE);

        }

        private void setFooterVisibility(int visibility)
        {
            if(visibility == View.GONE)
            {
                mButtonFooter.setVisibility(View.GONE)

                //this.removeView(mButtonFooter)
                //invalidate();
            }

        }
    }
4

1 回答 1

0

好的,找到问题了:D

android:layout_marginTop="@dimen/shortcut_height"
于 2013-08-04T13:56:46.197 回答