У меня есть AlertDialog
титул, который будет центрировать по вертикали, когда содержание сообщения диалога не нужно прокручивать, как показано ниже:Название не центр по вертикали на AlertDialog
Теперь, когда содержание сообщения должно прокручивать название больше не выровнены по вертикали, как показано ниже:
Я попытался установить название и значок первоначально с использованием ВОЛП
builder.setTitle("Help");
builder.setIcon(R.drawable.help);
И название не сосредоточено во второй ситуации с вышеуказанным кодом. С тех пор я пытался переключиться на макете XML для заголовка и используя builder.setCustomTitle(...);
чтобы установить заголовок со следующим XML:
<?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="fill_parent"
android:minHeight="72dp"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingLeft="14dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/help"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Help"
android:textSize="24sp"
android:textColor="#ff33b5e5"/>
</LinearLayout>
Я попытался атрибуты minHeight
, gravity
, layout_gravity
и padding
. Мне удалось центрировать заголовок во второй ситуации, используя атрибут padding
, но тогда заголовок в первой ситуации больше не является центром. В то время как padding
может работать, я хотел бы найти решение, которое будет поддерживать центральное положение в каждой ситуации независимо от того, нужно ли прокручивать сообщение. Я чувствую, что есть что-то простое и/или прямое, что я забыл.
Кроме того, содержимое сообщения просто устанавливается с использованием builder.setMessage();
.
EDIT 1: Я должен уточнить, что я не хочу, чтобы название было центрировано по горизонтали, только вертикально, а левое выравнивание плюс маржа/отступы. В конечном итоге я хочу, чтобы каждая строка заголовка отображалась как первое изображение выше.
EDIT 2: Вот Java-код для диалога, если это помогает:
public class HelpDialog extends DialogFragment{
// Bundle variables/args
final static String ARG_HELP = "help";
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.custom_help_title, null);
Bundle args = getArguments();
//initial way it was done
//builder.setTitle("Help");
//builder.setIcon(R.drawable.help);
//now with the custom xml
builder.setCustomTitle(view);
builder.setMessage(args.getCharSequence(ARG_HELP));
builder.setPositiveButton("Done", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dismiss();
}
});
return builder.create();
}
}
Это центрирует название по горизонтали, однако вертикаль еще не сосредоточенных в названии. – TronicZomB
Попробуйте установить значение силы тяжести в center_horizontal | center_vertical – Rohan
Это то, что у меня есть, и у меня проблемы с видом, который по-прежнему не центрируется. – TronicZomB