我創建了一個自定義的EditText(實際上,我只是設置了一個可繪製的背景)。問題是它的文本始終是頂部對齊的,我希望它是垂直居中對齊的。我已經嘗試將其引力設置爲CENTER_VERTICAL,但它不起作用。這是我創建的繪製:自定義EditText垂直對齊
<?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);
謝謝Markiz的回覆。但不幸的是,這並沒有幫助。事實上,我將它設置其部件上這樣的: `左= 10;`` 頂= 10;`` 右=寬度 - 10;`` 底部=頂部+ 45;`` searchEditText。佈局(左,上,右,下);` 我懷疑這個自定義高度是搞砸了。但我不知道如何解決它。 – 2011-02-16 14:28:26