我有以下布局文件。我想在第二个textView中居中显示文本。在Android Studio设计预览中,文本居中。但是,在运行该应用程序时,它不在中心。
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<FrameLayout
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="74dp"
android:background="@color/white">
<com.my.app.MyCustomTextView
android:id="@+id/custom_text_1"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginLeft="25dp"
android:layout_marginTop="15dp"
android:layout_marginRight="25dp"
android:layout_marginBottom="15dp"
android:background="@drawable/rounded_corner_green"
android:gravity="center"
android:text="Some text here"
android:textColor="@color/white"
android:textSize="16sp" />
<com.my.app.MyCustomTextView
android:id="@+id/custome_text_2"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="15dp"
android:layout_marginRight="15dp"
android:background="@drawable/circular_red"
android:gravity="center"
android:layout_gravity="end"
android:visibility="gone"
android:includeFontPadding="false"
android:textColor="@color/white"
android:textSize="16sp" />
</FrameLayout>
</layout>
这是它的外观(0不在中心)
但是,奇怪的是,如果我仅用TextView
替换自定义textView,则文本现在居中对齐。
这是MyCustomTextView
public class MyCustomTextView extends TextView {
public MyCustomTextView (Context context) {
super(context);
initView();
}
public MyCustomTextView (Context context, AttributeSet attrs) {
super(context, attrs);
initView();
}
public MyCustomTextView (Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initView();
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public MyCustomTextView (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
initView();
}
//here the typeface is set on the TextView after creating typeface from font asset
private void initView() {
CommonUtils.setCustomFontForText(MyApplication.getAppContext(), MyCustomTextView.this);
}
}
有人可以帮助我吗?这是怎么了?谢谢!