我在android中的编辑测试中设置错误,但是文本从垂直切半。我尝试过在线提供的所有解决方案。随附图像。
这是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)上我遇到了这个问题。 有什么想法吗?
答案 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"));
...
}
这只是解决了这个问题。 :)