【发布时间】:2012-03-11 10:40:19
【问题描述】:
我正在努力寻找一种在 Android 上正确对齐EditText 和ImageView 的方法。我不断得到这个结果:
XML 部分非常简单:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:scaleType="centerInside"
android:src="@drawable/android"
android:visibility="gone" />
<EditText
android:id="@+id/edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true" />
</LinearLayout>
我也尝试了以下许多建议,包括 PravinCG 的(RelativeLayout with alignTop/alignBottom):
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal" >
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/edittext"
android:layout_alignTop="@+id/edittext"
android:scaleType="centerInside"
android:src="@drawable/android"
android:visibility="visible" />
<EditText
android:id="@+id/edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/image"
android:hint="@string/username"
android:singleLine="true" />
</RelativeLayout>
但结果完全一样。
我尝试过使用 EditText 的背景填充、固有高度,但无济于事。
EditText的背景drawable在Android版本/ROM之间是不同的,我想支持它们。
如何在任何 android 版本(和样式)上使这种对齐像素完美?
【问题讨论】:
-
您应该根据您的屏幕分辨率分配编辑文本和图像的布局权重,通过分配布局权重,它在任何横向或纵向模式下看起来都很完美..试试它可能会起作用。
-
使用填充可能会导致不同分辨率的不可预测的结果。
标签: android imageview android-edittext alignment