Android 显示/隐藏小部件调整大小填充父级

标签 android android-widget android-layout

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

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

谢谢!

最佳答案

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

布局 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>

关于Android 显示/隐藏小部件调整大小填充父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5177098/

相关文章:

java - 如何使用房间数据库从 LiveData 列表中检索用户以显示在 Spinner 中

android - module-info.class 的 lint 分析期间出现意外故障

android - 修改 android.jar 类并在 Android 设备中替换它?

android - Android切换按钮高度小于30dp文字消失

java - JsonParseException 反序列化对象失败

android - 如何将 Activity 转换为 fragment 以在抽屉中使用

java - 屏幕解锁 android 的语音命令

Galaxy Tab 与 Nook 上的 Android dpi

android - 如何处理不同分辨率和旋转的图像纵横比

java - 如何在 onCreate 完成之前显示内容 - Android