Android对话框的高级设置《一》设置对话框按钮的图像和在内容文本中插入图像

我们知道Android系统提供的对话框样式实在有些简陋,如果你的应用程序很华丽,再配上一个简陋的对话框,显得格格不入。

SO.............我们可以通过反射技术来阻止对话框的关闭;设置对话框的透明度,设置按钮图像等。

在这里我们设置对话框按钮的图像和在内容文本中插入图像。需要结合HTML语言..

运行结果为:



源代码为:

布局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"
    tools:context=".MainActivity" >

    <Button
        android:onClick="onclick_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

JAVA源代码:

package com.example.dialog_image_text;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.graphics.drawable.Drawable;
import android.text.Html;
import android.text.Html.ImageGetter;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	public void onclick_button(View v) {

		new AlertDialog.Builder(this)
				.setTitle("在对话框文本中插入图像和设置按钮图像")
				.setMessage(
						Html.fromHtml("哈哈,<img src=''/>你好", new ImageGetter() {
							@Override
							public Drawable getDrawable(String source) {
								// TODO Auto-generated method stub
								Drawable mDrawable = getResources()
										.getDrawable(R.drawable.face);
								mDrawable.setBounds(0, 0, 32, 32);
								return mDrawable;
							}
						}, null))
				.setPositiveButton(
						Html.fromHtml("<img src=''/>确定", new ImageGetter() {

							public Drawable getDrawable(String source) {
								// TODO Auto-generated method stub
								Drawable mDrawable = getResources()
										.getDrawable(R.drawable.ok);
								mDrawable.setBounds(0, 0, 20, 20);
								return mDrawable;
							}
						}, null), null)
				.setNegativeButton(
						Html.fromHtml("<img src=''/>取消", new ImageGetter() {

							@Override
							public Drawable getDrawable(String source) {
								// TODO Auto-generated method stub
								Drawable mDrawable = getResources()
										.getDrawable(R.drawable.cancel);
								mDrawable.setBounds(0, 0, 20, 20);
								return mDrawable;
							}
						}, null), null).show();
	}

}

ok.



### 回答1: 您可以按照以下步骤在 Android 实现一个按钮点击后弹出删除对话框: 1. 在您的布局文件添加一个按钮,例如: ``` <Button android:id="@+id/delete_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Delete" /> ``` 2. 在您的 Activity 或 Fragment 找到该按钮并为其设置一个点击事件监听器,例如: ``` Button deleteButton = findViewById(R.id.delete_button); deleteButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 弹出删除对话框 showDeleteDialog(); } }); ``` 3. 编写一个方法 `showDeleteDialog()` 来显示删除对话框,例如: ``` private void showDeleteDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Delete Item") .setMessage("Are you sure you want to delete this item?") .setPositiveButton("Delete", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 在这里执行删除操作 } }) .setNegativeButton("Cancel", null) .show(); } ``` 4. 在对话框的确认按钮的点击事件添加您需要执行的删除操作。 这样,当用户点击删除按钮后,将会弹出一个删除对话框,询问用户是否确认删除,如果确认删除,则执行您编写的删除操作。如果用户选择取消,则对话框会关闭而不执行任何操作。 ### 回答2: 在Android点击一个按钮跳出删除对话框,可以按照以下步骤实现: 首先,需要在布局文件定义一个按钮。可以使用Button或者ImageButton控件,并设置相应的属性,如id和点击事件等。 接下来,在Java代码找到这个按钮,并为其设置OnClick事件监听器。在点击事件的回调函数,可以执行一系列操作,包括跳出删除对话框的操作。 在OnClick事件回调函数,可以使用AlertDialog类来创建一个删除对话框。可以使用AlertDialog.Builder类来构建对话框内容和样式。使用它的setTitle方法设置对话框的标题,setMessage方法设置对话框的消息内容,以及setPositiveButton和setNegativeButton方法来设置对话框的确认和取消按钮。 代码示例如下: 按钮的布局文件: <Button android:id="@+id/deleteButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="删除" android:onClick="showDeleteDialog" /> Java代码: public class MainActivity extends AppCompatActivity { private Button deleteButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); deleteButton = findViewById(R.id.deleteButton); } public void showDeleteDialog(View view) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("删除对话框") .setMessage("确定要删除吗?") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 确定按钮点击事件的处理逻辑 } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 取消按钮点击事件的处理逻辑 } }) .show(); } } 以上就是在Android点击一个按钮跳出删除对话框的实现方法。根据实际需求,可以自定义对话框的样式和操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值