Comportamiento de un Activity como Диалог

Deseo conseguir lo siguiente, compo puede ver un Dialog en la parte tiene un icono циркуляр де церрар (х) . Tengo el Dialog pero necesito el icono mencionado, «Идея Алгуны, пара идущая дальше или похожая?»
introducir la descripción de la imagen aquí

Он преобразовал ] Layout нормальный en Dialog, de estama. En el проявляет он aplicado el siguiente Стиль

Стиль

 <style name="formularios" parent="Base.Theme.AppCompat.Light.Dialog">
        <item name="android:background">@color/formulario</item>
        <item name="android:radius">@dimen/from</item>
    </style>

y luego en el проявляет aplico el estilo

android:theme="@style/formularios"
2
задан 11.01.2017, 15:50
0 ответов

То, в чем ты нуждаешься, состоит в том, чтобы создавать CustomDialog, который ты это будешь соразмерять начиная с одного Layout общий и текущий с background прозрачный, ты можешь использовать изображение, чтобы размещать там твои выборы как например кнопка закрыть. Обычно я использовал frameLayout.

Уже в твоей активности ты наполняешь твой диалог с layout который ты создал:

Я оставляю тебе полный пример для того, чтобы ты понял его гораздо лучше

 private void alert_win() {

        //** Aquí empieza la parte que nos interesa**

        dialog = new Dialog(GameScreen.this);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));//Aquí le das ele efecto de transparencia
        dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;
        dialog.setContentView(R.layout.winner_dialog);//Aquí cargas el layout
        dialog.setCanceledOnTouchOutside(false); //Evita cerrar el diálogo cuando tocas fuera de el.

 //** Aquí termina la parte que nos interesa**


        Typeface typeFace=Typeface.createFromAsset(getAssets(), "bellosmcp.ttf");

        TextView moTextView = (TextView) dialog.findViewById(R.id.moTextView);
        moTextView.setTypeface(typeFace);
        moTextView.setText(String.valueOf(_turn_count));
        TextView matchTextView = (TextView) dialog.findViewById(R.id.matchTextView);
        matchTextView.setTypeface(typeFace);
        movesTextView.setTypeface(typeFace);
        matchTextView.setText(String.valueOf(_score));
        TextView pairstextView =(TextView) dialog.findViewById(R.id.pairstextView);
        pairstextView.setTypeface(typeFace);
        pairstextView.setText(Integer.toString(c));
        ImageView closeDialog = (ImageView) dialog.findViewById(R.id.close);
        TextView highScoreTextView = (TextView) dialog.findViewById(R.id.high_Score);
        highScoreTextView.setTypeface(typeFace);
        highScoreTextView.setText(String.valueOf(user.high_score));


.......
         //** Aquí colocas un button o imagebutton que cierre el diálogo**  
        closeDialog.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
                if (mInterstitialAd.isLoaded()) {
                    mInterstitialAd.show();
                } else {
                    go_home();
                    send_score();
                }
                //display_unlocked_card_alert();


                display_unlocked_card_alert();


            }
        });


        ImageButton resetGame =(ImageButton) dialog.findViewById(R.id.resetGame);
        resetGame.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();

                    reset_game();

                display_unlocked_card_alert();




            }
        });

        dialog.show();

        Log.d(  TAG,"unlocked_check value 2 = " + unlocked_check);
    }

Layout контента Диалога

<?xml version="1.0" encoding="UTF-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@android:color/transparent"
    android:id="@+id/winner"><![CDATA[
  android:padding="10dip">

    ]]>

    <ImageView
  android:id="@+id/about_logo"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
    android:layout_gravity="center"
  android:layout_centerHorizontal="true"
  android:src="@drawable/fondo_score"
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip"
    android:layout_marginBottom="10dip" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/high_score"
        android:id="@+id/highScore"
        android:paddingRight="10dp"
        android:scaleType="fitXY"
        android:layout_gravity="center"
        android:paddingLeft="50dp"
        android:layout_marginLeft="100dp"
        android:layout_marginBottom="50dp" />

    <ImageView
        android:id="@+id/gameResults"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/this_match"
        android:scaleType="fitXY"
        android:layout_marginRight="200dp"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/close"
        android:layout_gravity="center"
        android:paddingLeft="230dp" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/try_again_efects_image"
        android:id="@+id/resetGame"
        android:layout_below="@+id/pairstextView"
        android:layout_alignEnd="@+id/gameResults"
        android:layout_marginTop="125dp"
        android:layout_gravity="center"
        android:layout_marginRight="100dp"
        android:layout_marginLeft="20dp" />

    <TextView style="@style/match_results"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="This match"
        android:shadowColor="@color/text_shadow"
        android:shadowDx="-1"
        android:shadowDy="-1"
        android:shadowRadius="2"
        android:scaleType="fitCenter"
        android:id="@+id/matchTextView"
        android:gravity="center_horizontal"
        android:layout_above="@+id/moTextView"
        android:layout_gravity="center"
        android:layout_marginTop="0dp"
        android:layout_marginBottom="40dp"
        android:layout_marginRight="80dp" />

    <TextView style="@style/match_results"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Moves"
        android:shadowColor="@color/text_shadow"
        android:shadowDx="-1"
        android:shadowDy="-1"
        android:shadowRadius="2"
        android:scaleType="fitCenter"
        android:id="@+id/moTextView"
        android:layout_centerVertical="true"
        android:layout_alignStart="@+id/matchTextView"
        android:layout_gravity="center"
        android:layout_marginRight="80dp"
        android:layout_marginTop="10dp" />

    <TextView style="@style/match_results"
        android:id="@+id/pairstextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Pairs"
        android:shadowColor="@color/text_shadow"
        android:shadowDx="-1"
        android:shadowDy="-1"
        android:shadowRadius="2"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_alignBottom="@+id/gameResults"
        android:layout_alignParentStart="true"
        android:scaleType="fitCenter"
        android:layout_gravity="center"
        android:layout_marginRight="84dp"
        android:layout_marginTop="65dp" />

    <TextView style="@style/high_score"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/high_Score"
        android:layout_gravity="center"
        android:layout_marginLeft="100dp"
        android:layout_marginBottom="40dp" />

    <ImageView
        android:layout_width="44dp"
        android:layout_height="44dp"
        android:background="@drawable/ic_close_dialog"
        android:id="@+id/close"
        android:layout_gravity="center"
        android:layout_marginLeft="160dp"
        android:layout_marginBottom="160dp"
        android:scaleType="fitXY" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/copa"
        android:id="@+id/imageView3"
        android:layout_gravity="center"
        android:layout_marginLeft="100dp"
        android:layout_marginTop="60dp"
        android:layout_marginRight="10dp" />

</FrameLayout>

Это остается таким образом:

introducir la descripción de la imagen aquí

Поскольку ты можешь видеть, ты можешь создавать диалог, который должен делить layout, или то, что ты хочешь, я использую этот тип диалогов, когда я требую одного со многими выборами или одним, который не поддерживал бы общий аспект.

2
ответ дан 03.12.2019, 17:45

Если ты можешь, это целая тема разметки я предлагаю тебе следующее:

introducir la descripción de la imagen aquí

  • Небесный контейнер был бы отцом или главный вид DialogFragment может быть RelativeLayout.

  • Красный контейнер был бы закрывать кнопку, выровненную в правую сторону с краями, как ты нуждался в этом, и ты размещаешь id "+id/btn_cerrar".

  • Зеленый контейнер под кнопкой "закрытия" maquetarias второй сын Линеарлайоут мог бы быть в этом случае для панели выборов используй признак layout_below = "id/btn_cerrar" например.

сейчас в контейнер ты будешь размещать отца прозрачный background это для того, чтобы он казался, что кнопка "закрывать" эту в воздухе или плавая.

и в спорщика под "закрывать" или LinearLayout он размещать drawable, сделанный тобой, у которого есть белый фон, вышило округленные или то, в чем ты нуждаешься, и я заношу в список уже с этим останься.

уже только договорись с твоей стороны о том, чтобы сделать программирование, из которого он делает каждую кнопку.

такой он такой, как я это сделал бы, и уже я в прическу делать этот тип вещей.

0
ответ дан 03.12.2019, 17:45

Теги

Похожие вопросы