2015-10-19 42 views
0

我在android中進行編輯測試時設置錯誤,但是文本從垂直方向切割一半。我已嘗試在線提供每種解決方案。圖片附在此處。EditText錯誤文本在Samsund設備上被垂直截取

enter image description here

下面是XML代碼。

<FrameLayout 
     style="@style/FormRow" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/lbl1" 
      style="@style/FormLabel" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="left|center_vertical" 
      android:text="@string/First_name" /> 

     <EditText 
      android:id="@+id/personal_first_name" 
      style="@style/FormValue" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right|center_vertical" 
      android:background="@null" 
      android:cursorVisible="true" /> 
    </FrameLayout> 

而且款式:

<style name="FormValue"> 
    <item name="android:textSize">13sp</item> 
    <item name="android:gravity">right|center_vertical</item> 
    <item name="android:paddingLeft">100dp</item> 
    <item name="android:fitsSystemWindows">true</item> 
    </style> 

    <style name="FormLabel"> 
    <item name="android:textColor">#212531</item> 
    <item name="android:textSize">13sp</item> 
    <item name="android:gravity">left</item> 
    </style> 

    <style name="FormRow"> 
    <item name="android:paddingBottom">9dp</item> 
    <item name="android:paddingLeft">10dp</item> 
    <item name="android:paddingRight">10dp</item> 
    <item name="android:paddingTop">9dp</item> 
    <item name="android:animateLayoutChanges" tools:targetApi="11">true</item> 
</style> 

在Nexus 4,5沒有問題,但在三星設備(S4,歐米茄)我面對這個問題。 有什麼想法?

+0

你可以分享你的錯誤框和你的表單屏幕的佈局? – cafebabe1991

+0

也許你的edittext或佈局有邊距值。覈實。 –

+0

請分享您的XML代碼。 – DroidAks

回答

1

最後得到了根情況。實際上,我的所有EditText都是由一個基本編輯文本類擴展的。在構造函數中,我將自定義的編輯文本封裝到一個樣式中。儘管風格沒有問題。看一看。

public BaseEditText(Context context, AttributeSet attrs) { 
    super(new ContextThemeWrapper(context, R.style.Textbox),attrs); //This cuts the error in half vertical 
} 

而且款式

<style name="Textbox" parent="@android:style/Widget.EditText"> 
    <item name="android:textColor">#5f5f5f</item> 
    <item name="android:textSize">13sp</item> 
    <item name="android:textColorHint">#999999</item> 
    ..... 

</style> 

所以我所做的是,就是不換風格的背景和與代碼添加的所有屬性。

public BaseEditText(Context context, AttributeSet attrs) { 
     super(context,attrs); 

     setEllipsize(TextUtils.TruncateAt.END); 
     setLines(1); 
     setHorizontallyScrolling(true); 
     setTextColor(Color.parseColor("#5f5f5f")); 
     ... 
} 

這只是解決了這個問題。 :)

1

我刪除工具:targetApi = 「11」 的風格和我的代碼進行覈對的EditText:

next.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

      if(firstName.getText().toString().trim().equalsIgnoreCase("")){ 
       firstName.setError("Enter FirstName"); 
      } 
     } 
    }); 

我希望它能幫助你

+0

它不工作 – Adnan