如何在视图设置可见/消失时调整布局大小

时间:2014-10-11 10:48:36

标签: android layout scrollview visible

我正在设计一个登录活动,我希望EditText字段在按下此按钮时显示在按钮下方。 当EditTexts出现时,我的布局的底部(也是一个按钮)被调整大小。 我无法使用全局滚动视图。

任何帮助都将受到高度赞赏:)

编辑:这是xml代码,我为读者跳过了一些按钮'清酒。基本上,当我以编程方式显示editText字段时,最后一个按钮称为"链接"收缩。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/tour_port_blurry"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/welcomeimage"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_gravity="center"
        android:layout_weight="1"
        android:contentDescription="@string/hello_world"
        android:paddingTop="10dp"
        android:src="@drawable/logo_welcome" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:gravity="center"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.2" />

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.6"
            android:animateLayoutChanges="true"
            android:gravity="center"
            android:orientation="vertical" >

            <Button
                android:id="@+id/buttonstore"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="17dip"
                android:background="@drawable/state_button_login_stouring"
                android:drawableLeft="@drawable/logostouring"
                android:gravity="left|center_vertical"
                android:paddingBottom="8dp"
                android:paddingLeft="12dp"
                android:paddingRight="8dp"
                android:paddingTop="8dp"
                android:textColor="#EEEEEE"
                android:textSize="14sp" />

            <EditText
                android:id="@+id/login_store"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="20dip"
                android:layout_marginTop="2dip"
                android:hint="adresse email"
                android:inputType="textEmailAddress"
                android:singleLine="true"
                android:textColor="#EEEEEE"
                android:textColorHint="#EEEEEE"
                android:color="#EEEEEE" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <EditText
                    android:id="@+id/mdp_store"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="20dip"
                    android:layout_marginTop="2dip"
                    android:layout_weight="0.8"
                    android:hint="mot de passe"
                    android:inputType="textPassword"
                    android:singleLine="true"
                    android:textColor="#EEEEEE"
                    android:textColorHint="#EEEEEE"
                    android:color="#EEEEEE" />

                <Button
                    android:id="@+id/buttonOk"
                    android:visibility="invisible"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.2"
                    android:background="@android:color/transparent"
                    android:textColor="#EEEEEE" />
            </LinearLayout>

            <Button
                android:id="@+id/buttonlinked"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/state_button_login_linkedin"
                android:drawableLeft="@drawable/logolinkedin"
                android:gravity="left|center_vertical"
                android:paddingBottom="8dp"
                android:paddingLeft="12dp"
                android:paddingRight="8dp"
                android:paddingTop="8dp"
                android:textColor="#EEEEEE"
                android:textSize="14sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.2" />
    </LinearLayout>
</LinearLayout>

</ScrollView>

2 个答案:

答案 0 :(得分:1)

第一种方法:设置为EditText View.INVISIBLE属性而不是View.GONE。 第二种方法:将layout_weight属性设置为子视图的

答案 1 :(得分:0)

尝试将EditText可见属性设置为&#39;隐藏&#39;(不要使用gone),然后点击按钮使其显示为“可见&#39; 。这不会让其他观点改变。