Android Show / Hide Widget调整填充父级

时间:2011-03-03 05:41:46

标签: android android-widget android-layout

我有一个 EditText,旁边有一个按钮。该按钮最初是隐藏的,因此EditText会占据整个屏幕,这很好。当他们点击EditText时,我会在EditText旁边显示按钮,并相应地调整自身大小。但是,当我隐藏Button(我将可见性设置为已消失)时,EditText不会调整为全屏(在EditText右侧留下间隙)。有什么提示吗?

我已经尝试将EditText和Button放在LinearLayout和TableLayout(带有可伸缩列等)中,我看到了相同的行为。我也试过做一些运行时调用removeView / addView的东西,但没有用。我还尝试在EditText及其父级上调用invalidate()。

谢谢!

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我想在隐藏并显示一个紧挨着它的Button时更改EditText的大小,但EditText的大小在按钮上调用setVisibility(View.VISIBLE)后不会缩小。我通过向EditText添加android:layout_weight="1"解决了这个问题。

布局xml如下所示:

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:orientation="horizontal">
    <EditText 
        android:id="@+id/search_text" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_weight="1"
        />
    <Button 
        android:id="@+id/hide_btn" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="btn"
        />
</LinearLayout>