我有一個EditText與imeOptions="actionSearch"
。現在,當我點擊EditText時,鍵盤不會在一些HTC設備中彈出,如HTC Desire S & HTC Incredible。 XML的EditText情況如下:在HTC Desire S上,軟鍵盤沒有彈出EditText焦點
<com.myapp.utilities.font.DroidSansEditText
android:id="@+id/txtSearchByName"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.60"
android:background="@drawable/edittext"
android:ellipsize="end"
android:gravity="left|center_vertical"
android:hint="@string/provider_practice"
android:imeOptions="actionSearch"
android:inputType="textCapWords"
android:paddingLeft="10dp"
android:paddingRight="5dp"
android:singleLine="true"
android:tag="byName"
android:textColor="#a19d93"
android:textSize="15.5sp" />
DroidSansEditText
是具有droid-sans font
定製EditText
。該DroidSansEditText情況如下:
public class DroidSansEditText extends EditText {
public DroidSansEditTextView(Context context) {
super(context);
}
public DroidSansEditTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public DroidSansEditTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void setTypeface(Typeface tf, int style) {
if (!isInEditMode()) { //For Graphical layout of xml in eclipse
// here Bold style is handled. Same way we can handle italic style
if (style == 1) { // if bold (Style Constant, normal = 0 | bold = 1
// | italic = 2)
tf = Typeface.createFromAsset(getContext()
.getApplicationContext().getAssets(),
"DroidSans-Bold.ttf");
} else {
tf = Typeface.createFromAsset(getContext()
.getApplicationContext().getAssets(), "DroidSans.ttf");
}
super.setTypeface(tf, 0);
}
}
}
感謝您的回覆。其實我不知道EditMode對EditText有什麼作用。我把這種情況,因爲如果沒有在Eclipse中,我不能在圖形模式下正確地看到EditText。 – hemu 2013-04-16 15:24:33
然後提供else語句,如果你在其他地方調用super.setTypeFace()例如 – 2013-04-19 06:55:12
。另外爲了確保我使用Input'InputMethodManager'通過觸摸editext顯式地打開了鍵盤。謝謝。 – hemu 2013-04-19 09:27:12