我正在使用方法setCompoundDrawablesWithIntrinsicBounds()
在EditText上显示图标,情况如下:
当我显示顶部图标时,文本跳跃/向下移动。
我设置了paddingTop& marginTop of editText为0dp,但没有帮助。任何想法?
<EditText
android:id="@+id/editText_Search"
android:layout_width="fill_parent"
android:layout_height="80dp"
android:background="@drawable/shadow"
android:drawablePadding="10dp"
android:ems="10"
android:gravity="center"
android:hint="@string/string_EditText_Hint_EnterFieldNumber"
android:inputType="textNoSuggestions|textVisiblePassword"
android:paddingTop="0dp"
android:layout_marginTop="0dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:textColor="@color/ForestGreen"
android:textColorHint="@color/Silver"
android:textColorLink="@color/White"
android:textCursorDrawable="@drawable/black_cursor" >
</EditText>
答案 0 :(得分:0)
您将EditText
的高度设置为常量,因此在添加顶部化合物后不会让它展开。
它无关紧要,因为你仍然需要调整底部容器。如果你知道Drawable
的高度,只需将bottomPadding
设置为相等(程序化)。
您还可以作弊并将drawable
设置为alpha
0或空白
答案 1 :(得分:0)
我会使用不同的视图。
<ImageView
android:layout_height="20dp"
android:src="@drawable/icon"
android:visibility="invisible"/>
<EditText
android:marginBottom="20dp"/>
假设20dp是你的图标高度。这样,EditText内容将始终保持在框中,您可以通过调用imageView.setVisibility(View.VISIBLE)
或imageView.setVisibility(View.INVISIBLE)
来显示/隐藏图标。