我想为custom title
:
Dialog
public class MessageDialogView extends Builder {
private View view, titreView;
@SuppressLint("NewApi")
public MessageDialogView(Context context,LayoutInflater inflater) {
super(context);
view = inflater.inflate(R.layout.msg_dialog, null);
this.setView(view);
titreView = inflater.inflate(R.layout.custom_dialog_title, null);
this.setCustomTitle(titreView);
}
...
}
自定义标题的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
style="@style/ImpotsTitleStyle"
android:layout_marginBottom="0dp"
android:padding="0dp">
<ImageView
android:id="@+id/icone"
android:src="@drawable/ic_action_warning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/titre"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center_vertical"
style="@style/ImpotsStyleText"/>
</LinearLayout>
在运行时,标题文字不是&#34;居中&#34;在整个标题栏的上下文中,因为左侧有图标!
因此,如果我将图标和标题的文字放在RelativeLayout
中,是否可以将TextView放在图标下方?如果是这样的xml属性适用于那个?
答案 0 :(得分:1)
是的,RelativeLayout
是正确的解决方案。您可以将ImageView
对齐到左侧,然后让TextView
同时居中。我已修改您的代码,以指明您正确的方向。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/ImpotsTitleStyle"
android:layout_marginBottom="0dp"
android:padding="0dp">
<ImageView
android:id="@+id/icone"
android:src="@drawable/ic_action_warning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"/>
<TextView
android:id="@+id/titre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
style="@style/ImpotsStyleText"/>
</RelativeLayout>