在Samsund Devices上垂直截断Edittext错误文本

时间:2015-10-19 07:42:45

标签: android android-edittext

我在android中的编辑测试中设置错误,但是文本从垂直切半。我尝试过在线提供的所有解决方案。随附图像。

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,omega)上我遇到了这个问题。 有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我删除了工具:targetApi =&#34; 11&#34;在样式中我检查了代码中的edittext:

next.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

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

我希望它可以帮到你

答案 1 :(得分: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"));
        ...
 }   

这只是解决了这个问题。 :)