您的位置:首页 > 其它

自定义dialog与事件回调

2016-01-27 23:25 148 查看
当我们自定义一个dialog的时候,点击里面的按钮时需要在当前的界面中处理相应的事件,这个时候我们就需要interface

首先我们写好自己的对话框布局:

<LinearLayout
android:layout_width="300dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:background="#55000000"
android:orientation="vertical" >

<TextView
android:id="@+id/txt_title"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:gravity="center"
android:paddingTop="10dp"
android:text="wwww"
android:textColor="#000000"
android:textSize="18sp" />

<TextView
android:id="@+id/txt_hint"
android:layout_width="fill_parent"
android:layout_height="70dp"
android:layout_marginTop="10dp"
android:gravity="center_horizontal"
android:text="kkkkkkk"
android:textColor="#000000"
android:textSize="18sp" />

<ImageView
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="#BCBCBC"
android:paddingLeft="10dp"
android:paddingRight="10dp" />

<!--android:background="@drawable/button_corners_bg"  -->

<Button
android:id="@+id/dialog_submit_orders_submit"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:background="@null"
android:gravity="center"
android:text="确认"
android:textColor="@color/textchange_color"
android:textSize="20sp" />
</LinearLayout>


在styles中写入dialog样式:

<style name="Dialog" parent="android:style/Theme.Dialog">
<item name="android:background">#00000000</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
</style>


写一个接口类:

public interface DialogTestInterface {

public void testInterface(int code);

}


然后再调用dialog的地方和需要的地方实现就可以了:

btn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

dialog.dismiss();
testonet.testInterface(110);

}
});


@Override
public void testInterface(int code) {
if (code == 110){
Toast.makeText(MainActivity.this,"wkkkkk",Toast.LENGTH_SHORT).show();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: