android - 自定义EditText垂直对齐方式

标签 android android-edittext custom-view

我创建了一个自定义的EditText(实际上,我只是设置了一个背景可绘制)。问题是它的文本总是顶部对齐,而我希望它垂直居中对齐。我已经尝试将其重力设置为 CENTER_VERTICAL,但它不起作用。这是我创建的可绘制对象:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle" android:gravity="center_vertical">
 <solid android:color="#FFFFFF"/>
 <stroke android:width="1dp" android:color="#88BA52" />  
 <corners
     android:bottomRightRadius="10dp"
     android:bottomLeftRadius="10dp"
     android:topLeftRadius="10dp"
     android:topRightRadius="10dp"/>
</shape>

这是我的创建方法:

searchEditText = new EditText(getContext());
searchEditText.setTextSize(12);
searchEditText.setSingleLine();
searchEditText.setGravity(Gravity.CENTER_VERTICAL);
searchEditText.setHint(R.string.search_hint);
searchEditText.setBackgroundDrawable(
        getResources().getDrawable(R.drawable.search_field));
addView(searchEditText);

最佳答案

searchEditText.setGravity(Gravity.CENTER | Gravity.LEFT); 

这可能有帮助

关于android - 自定义EditText垂直对齐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5017513/

相关文章:

android - 如何设置复选框或单选按钮

ios - NavigationController titleView 中的自定义 UIView。如何让按钮在我的 View Controller 中触发操作

android - 如何在 Android 中滚动 "infinitely"宽 View ?

java - android opengl es 1.1 - 某些设备上的绘图故障 - 内部屏幕截图

Android - Firebase 调试 SHA1 证书

android - Android 4.1/4.3/4.4 电子邮件应用程序中的 FileProvider 失败,列 '_data' 不存在

android - 使用带有 float editText 的 setErrorEnabled 时应用程序崩溃

android - 如何将用户输入的数据保存到编辑文本中,以便在同一应用程序的另一个 Activity 中查看

java - 如何在文字上书写时显示图像

swift - 使用 Snapkit 的自定义 View 在使用时不显示