使EditText的宽度自动适应屏幕控件

时间:2022-09-21 22:41:28

在开发过程中涉及到EditText和其他控件在一排的时候,而且需要动态改变EditText的宽度以便让一排控件能自动适应不同的屏幕宽度,可以使用以下办法:

<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout2" >
                <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/memotitle" android:id="@+id/memotitle" android:textSize="18dp"></TextView>
<EditText android:id="@+id/title_view"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center_vertical"
                android:singleLine="true"
                android:editable="false"
                android:focusable="false"
                android:clickable="true"
                android:layout_weight="1"
                android:marqueeRepeatLimit="marquee_forever"/>
            <ImageView android:id="@+id/view_memo_alarm"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|right"
            android:background="@drawable/ic_toolbar_alarm_m" android:focusable="false" />   
</LinearLayout>

案例中EditText和TextView以及ImageView在一排,而且根据程序的需要ImageView需要动态显示或者隐藏,通过以上的XML配置即可实现,重点在于这句话:

android:layout_weight="1"