在可见性更改后,Android调整大小MapView

时间:2010-08-25 14:20:19

标签: java android google-maps

我有一个具有以下布局的活动:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <com.google.android.maps.MapView
        android:id="@+id/map"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
    <LinearLayout
        android:id="@+id/view"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center"
        android:padding="5dp" >
        <TextView
            android:id="@+id/text"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:textColor="#FFF"
            android:padding="5dp" />
    </LinearLayout>
</LinearLayout>

我希望能够隐藏/显示具有id“view”的单独LinearLayout,然后根据剩余的空间调整MapView的大小。当我尝试这个时,从不显示单独的LinearLayout。我不确定发生了什么! LinearLayout永远隐藏了吗?它是Mapview背后的吗?

private void showMessage() {
    LinearLayout layout = (LinearLayout) findViewById(R.id.view);
    layout.setVisibility(View.VISIBLE);
}

private void hideMessage() {
    LinearLayout layout = (LinearLayout) findViewById(R.id.view);
    layout.setVisibility(View.GONE);
}

1 个答案:

答案 0 :(得分:0)

问题似乎可以通过更改XML布局文件中的初始化顺序来解决,而且可能在将来的Android版本中不会出现。