在开发过程中涉及到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"