4

画像に示されているように、上の部分は私のレイアウトであり、下の部分のようなポップアップを画像に追加したいので、それを作成するにはどうすればよいですか、ダイアログボックスのボタンイベントを処理するにはどうすればよいですか?

ここに画像の説明を入力してください

4

4 に答える 4

4
public class Add extends Activity{

PopupWindow popUp;
Dialog myDialog;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.add);

    myDialog = new Dialog(Add.this);
    myDialog.setContentView(R.layout.popup50);
    myDialog.setTitle("Please Pay Attention!");
    myDialog.setCancelable(true);

    //for save
  Button popone = (Button)myDialog.findViewById(R.id.button1);
  popone.setOnClickListener(new OnClickListener()
  {
  public void onClick(View v) 
  {

      myDialog.dismiss();

     }
  });


  //for cancel
  Button poptwo = (Button)myDialog.findViewById(R.id.button2);
  poptwo.setOnClickListener(new OnClickListener()
  {
  public void onClick(View v) 
  {


    Intent CheckProfile = new Intent(Add.this, UserActivity.class);
    startActivity(CheckProfile);
    myDialog.dismiss();


     }
  });


  myDialog.show();


}   

これはXMLです

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:background="#00FFFF"
android:layout_width="300dp"
android:layout_height="wrap_content" >

<TextView
    android:id="@+id/popUp_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30dp"
    android:gravity="center"
    android:textColor="#000000"
    android:text="@string/pop50"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/popUp_text"
    android:layout_marginRight="36dp"
    android:layout_marginTop="44dp"
    android:text="Cancel" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button2"
    android:layout_alignBottom="@+id/button2"
    android:layout_marginRight="69dp"
    android:layout_toLeftOf="@+id/button2"
    android:text="  Ok  " />

</RelativeLayout>
于 2013-03-26T09:39:19.927 に答える
2

私はあなたに役立つかもしれないabout画面を表示するのに似たものを持っています:

b.setOnClickListener(new View.OnClickListener() {  
    public void onClick(View v) {
        show_about();              
    }
});

...

private void showAbout() {
    Dialog dialog = new Dialog (context);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.about);
    dialog.setCanceledOnTouchOutside(true);
    dialog.show();      
}

xmlビット:

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="23dp"
        android:text="An app for the Newcastle Cloud Team"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/textView2"
        android:layout_centerHorizontal="true"
        android:src="@drawable/coche3" />

    ...

  </RelativeLayout>
于 2013-03-26T09:39:10.137 に答える
1

<ImageView
    android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginRight="5dp" />

<TextView
    android:id="@+id/text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="#FFF" 
    android:layout_toRightOf="@+id/image"/>/>

 <Button
     android:id="@+id/dialogButtonOK"
     android:layout_width="100px"
     android:layout_height="wrap_content"
     android:layout_below="@+id/image"
     android:layout_centerHorizontal="true"
     android:layout_marginTop="18dp"
     android:text=" Ok " />

このコードをbutonイベントまたはあなたが望むものの中に入れてください

final Dialog dialog = new Dialog(context);
            dialog.setContentView(R.layout.coustom);
            dialog.setTitle("Title...");

            // set the custom dialog components - text, image and button
            TextView text = (TextView) dialog.findViewById(R.id.text);
            text.setText("Android custom dialog ");
            ImageView image = (ImageView) dialog.findViewById(R.id.image);
            image.setImageResource(R.drawable.ic_launcher);

            Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
            // if button is clicked, close the custom dialog
            dialogButton.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    dialog.dismiss();
                }
            });

            dialog.show();
于 2013-03-26T09:37:04.957 に答える
1
public class PopupforeditActivity extends Activity {


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.alphabetslist);

    callalertDialogueCustom();


} 

   public void callalertDialogueCustom(){

    final Dialog dialog = new Dialog(PopupforeditActivity.this);

    dialog.setContentView(R.layout.popup); // This is my Custom Layout
    dialog.setTitle("This is my custom dialog box");
    dialog.setCancelable(true);
    //there are a lot of settings, for dialog, check them all out!

    //set up text
    TextView text = (TextView) dialog.findViewById(R.id.txt1);
    text.setText("Lots of Hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");

    EditText edt=(EditText) dialog.findViewById(R.id.edtxtName);
    edt.setText("i am binded this time");

    //set up image view
   /* ImageView img = (ImageView) dialog.findViewById(R.id.ImageView01);
    img.setImageResource(R.drawable.nista_logo);*/

    //set up button
    Button button = (Button) dialog.findViewById(R.id.btnSave);
    button.setOnClickListener(new OnClickListener() {
    @Override
        public void onClick(View v) {

        Toast.makeText(getApplicationContext(), "You clicked on Save",
                Toast.LENGTH_SHORT).show();
        dialog.dismiss();

        }
    });

    Button button1 = (Button) dialog.findViewById(R.id.btnCancel);
    button1.setOnClickListener(new OnClickListener() {
    @Override
        public void onClick(View v) {
         //finish();
        dialog.dismiss();
        }
    });
    //now that the dialog is set up, it's time to show it    
    dialog.show();


}

}

私のカスタムレイアウトGUI

ここに画像の説明を入力してください

XML

<?xml version="1.0" encoding="utf-8"?>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/rltvview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/bg_black_transparent">

    <ScrollView 
        android:id="@+id/scrlview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dip"
        android:layout_marginRight="20dip"
        android:layout_centerInParent="true"
        android:background="@android:color/darker_gray" >

    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView 
            android:id="@+id/txt1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:paddingLeft="5dip"
            android:layout_marginTop="15dip"
            android:text="Name"
            android:textColor="@android:color/black"
            android:background="@drawable/btn_orange_matte"/>


        <EditText
            android:id="@+id/edtxtName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
            android:layout_marginRight="10dip"
            android:layout_marginTop="10dip"
            android:scrollbars="vertical"
            android:hint="hii"
            android:lines="5"
            android:singleLine="false"
            android:textColor="@android:color/black" />

        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="1">

            <Button
                android:id="@+id/btnSave" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight=".5"
                android:text="Save"
                android:layout_margin="10dip"/>
            <Button 
                android:id="@+id/btnCancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight=".5"
                android:text="Cancel"
                android:layout_margin="10dip"/>

        </LinearLayout>

    </LinearLayout>
</ScrollView>
</RelativeLayout>

このcallalertDialogueCustom();を呼び出すだけです。必要に応じて任意の場所からのメソッド..カスタムダイアログも作成し、クリックイベントも処理します

于 2013-03-26T11:53:10.537 に答える