画像に示されているように、上の部分は私のレイアウトであり、下の部分のようなポップアップを画像に追加したいので、それを作成するにはどうすればよいですか、ダイアログボックスのボタンイベントを処理するにはどうすればよいですか?
質問する
1706 次
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 に答える