欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android编程实现Dialog窗体监听的方法

程序员文章站 2023-12-04 15:31:30
本文实例讲述了android编程实现dialog窗体监听的方法。分享给大家供大家参考,具体如下: 今天做了一个dialong窗体监听包括窗体内的xml监听。 效果图:...

本文实例讲述了android编程实现dialog窗体监听的方法。分享给大家供大家参考,具体如下:

今天做了一个dialong窗体监听包括窗体内的xml监听。

效果图:

Android编程实现Dialog窗体监听的方法

test.class代码

package com.test;
import android.app.activity;
import android.app.alertdialog;
import android.content.context;
import android.content.dialoginterface;
import android.os.bundle;
import android.text.layout;
import android.view.layoutinflater;
import android.view.view;
import android.view.view.onclicklistener;
import android.widget.button;
import android.widget.imagebutton;
import android.widget.imageview;
import android.widget.textview;
public class test extends activity implements onclicklistener {
  private imagebutton button=null;
  @override
  public void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.main);
    button=(imagebutton)findviewbyid(r.id.button);
    //监听
    button.setonclicklistener(this);
  }
  @override
  public void onclick(view v) {
    windows();
  }
  private void windows() {
  //接受一些参数如:图片,标题,正文
  alertdialog.builder builder;
  alertdialog alertdialog;
  //加载和访问资源
  context mcontext =test.this;
  //通过layoutinlater得到上面xml布局的view view
  layoutinflater inflater =
  (layoutinflater)mcontext.getsystemservice(layout_inflater_service);
  view layout =inflater.inflate(r.layout.custom_dialog,null);
  //绑定test和image
  textview text=(textview)layout.findviewbyid(r.id.text);
  text.settext("hello");
  button b =(button)layout.findviewbyid(r.id.b);
  b.settext("butto");
  b.setonclicklistener(new view.onclicklistener() {
    @override
    public void onclick(view v) {
      system.out.println("123");
    }
  });
  imageview image=(imageview)layout.findviewbyid(r.id.image);
  //取出系统自带的图片
  image.setimageresource(r.drawable.icon);
  //加载
  builder = new alertdialog.builder(mcontext);
  builder.setview(layout);
  //创建目标,这里创建相应的alertdialog
//  alertdialog = builder.create();
  //弹出窗口
  builder.setpositivebutton("确定", new dialoginterface.onclicklistener() {
    @override
    public void onclick(dialoginterface dialog,
     int which) {
    }
    }).setnegativebutton("取消",
    new dialoginterface.onclicklistener() {
    @override
    public void onclick(dialoginterface dialog,
     int which) {
     dialog.cancel();
    }
    }).create();
  builder.show();
  }
}

custom_dialog.xml文件代码

<?xml version="1.0"
encoding="utf-8"?>
<linearlayout
xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    >
 <imageview android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_marginright="10dp"
    />
 <textview android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:textcolor="#fff"
    />
    <button android:id="@+id/b"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    />
</linearlayout>

main.xml代码

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
<textview
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="@string/hello"
  />
  <imagebutton
  android:id="@+id/button"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="#000000"
  android:src="@drawable/icon"
  />
</linearlayout>

结尾:由于要用到两个xml所以这里有两个xml的代码,一个是点击按钮的xml代码,一个窗体里面的xml布局带

更多关于android相关内容感兴趣的读者可查看本站专题:《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。