我创建了一个自定义的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/