5

AlertDialogカスタム ダイアログ ビューを使用する があります。カスタム タイトル ビューのアイデアは単純に思えますが、カスタム タイトルの周りに黒い境界線があり、それを取り除くことができないようです。上部、左側、右側には 1 ピクセルの境界線があり、下部には約 5 ピクセルの境界線があります。

Java でのダイアログの作成:

View titleView = inflater.inflate(R.layout.part_list_item, parent, false);
((TextView) titleView.findViewById(R.id.partName)).setText(titleText);
AlertDialog productDialog = new AlertDialog.Builder(getContext())
    .setCustomTitle(titleView)
    .setAdapter(adapter, doNothingClickListener)
    .create();

カスタム タイトル ビュー レイアウト、part_list_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#ff0000"
    android:id="@+id/partName"
    android:layout_marginLeft="6dip"
    android:textAppearance="?android:attr/textAppearanceLargeInverse"
    />

私が見るもの:

スクリーンショットが壊れた

私が見たいもの:

スクリーンショットを修正

何か案は?

4

2 に答える 2

3

これを試して:

LayoutInflater inflater = (LayoutInflater)yourClass.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View titleView = inflater.inflate(R.layout.custom_dialog, null);

((TextView) titleView.findViewById(R.id.partName)).setText("Your Title");
alert1.setCustomTitle(titleView);
于 2012-04-19T10:23:05.217 に答える
0

これは、アラートにタイトルがある場合に android によって作成された結果です。スクリーンショットを見ると、アラートの「本文」もカスタムビューであり、アラートメッセージのプロパティではありません。

そのため、目的の結果を得る最も簡単な方法は、アラートのカスタム ビューにタイトル レイアウトを追加することです。

例:

View titleView = inflater.inflate(R.layout.part_list_item, parent, false);

View bodyView = ....
bodyView.addview(titleView);
((TextView) itleView.findViewById(R.id.partName)).setText(titleText); 

AlertDialog productDialog = new AlertDialog.Builder(getContext());
productDialog.setView(bodyView);
...

productDialog.create();

bodyView.addview(titleView);アラートの本文にタイトル レイアウトを追加する場所。

そして、productDialog.setView(bodyView); カスタム ビューをアラートの本文として設定します。

于 2012-04-19T05:53:41.733 に答える