2

我使用ViewSwitcher允许从TextView切换到EditText元素。我注意到EditText元素在视图底部产生了额外的填充(例如,如果我删除了EditText,所有内容看起来都像预期的那样,但是添加它,即使可见性设置消失,底部也会产生额外的空间) 。这是什么原因造成的?应该如何解决?ViewSwitcher与EditText留下额外的填充

<ViewSwitcher 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/IngredientsLineSwitcher" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 
    <TextView 
     android:id="@+id/IngredientsLineText" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:paddingBottom="0dip" 
     android:paddingLeft="10dip" 
     android:paddingTop="0dip" 
     android:text="" 
     android:textColor="@color/black" 
     android:textSize="@dimen/recipe_label_font_size" /> 
    <EditText 
     android:id="@+id/IngredientsLineEdit" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent"  
     android:paddingBottom="0dip" 
     android:paddingLeft="10dip" 
     android:paddingTop="0dip" 
     android:text="" 
     android:visibility="gone" 
     android:textColor="@color/black" 
     android:textSize="@dimen/recipe_label_font_size" /> 
</ViewSwitcher> 

回答

1

你应该把一个RelativeLayout围绕TextViewEditText控制自己的定位。

1
----- 
android:layout_height="match_parent" > 
mlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/IngredientsLineSwitcher" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 
<TextView 
    android:id="@+id/IngredientsLineText" 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    ---- 
<EditText 
    android:id="@+id/IngredientsLineEdit" 
    android:layout_height="match_parent" 
    android:layout_width="match_parent"  
    ----- 

在所有视图中从fill_parent更改为match_parent。