澳门银河网上官方赌场_老品牌值得信赖

ITKeyword,专注技术干货聚合推荐

注册 | 登录

Fragment里面创建DialogFragment

梳子不爱头发 分享于

2021腾讯云限时秒杀,爆款1核2G云服务器298元/3年!(领取2860元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1062

2021阿里云最低价产品入口+领取代金券(老用户3折起),
入口地址https://www.aliyun.com/minisite/goods

推荐:DialogFragment 创建对话框

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37815413 1、 概述 DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在A

AUF法则下的对话框

【楔子】

在Actiity页面上做DiaLog似乎非常简单,大部分在学习了控件以后都会使用,但是google希望开发者只使用FragementDialog,刚开始不理解,后来发现碎片对话框真的太好用了,完全就是自我定制,其实就是设计一个xml布局,然后将它显示为对话框,这种自由形的对话框自然要比Activity本身的要好上很多。

【DialogFragment基础知识】想要做碎片的对话框,需要了解DialogFragment类,这个类继承自Fragment,所以行为相似。 【实现效果】:在一个fragment里面点击岛计时,跳出对话框

【第一步建立DialogFragment】 首先如同Fragment一样建立dialog.xml文件 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/LinearLayout1"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:gravity="center"

android:orientation="vertical" >

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content" >

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="110dp"

android:textSize="30dp"

android:text="时" />

<TextView

android:id="@+id/textView2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="45dp"

android:textSize="30dp"

android:text="分" />

</LinearLayout>

<TimePicker

android:id="@+id/mytime"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

<Button

android:id="@+id/timesure"

android:layout_width="200dp"

android:layout_height="wrap_content"

android:background="#33A18F"

android:textColor="#FFFFFF"

android:layout_marginBottom="20dp"

android:text="确定" /></LinearLayout>

接下来就是DialogFragment类: package com.example.testdrawerlayoutleft;import android.app.Activity;import android.app.DialogFragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import

推荐:Android初学习 - DialogFragment 创建对话框

1、 概述 DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认

android.view.View.OnClickListener;import android.view.ViewGroup;import android.view.Window;import android.widget.Button;import android.widget.TimePicker;import android.widget.TimePicker.OnTimeChangedListener;import android.widget.Toast;public class TimeDialog extends DialogFragment{

private TimePicker mytime=null;

private Button timesubmit;

public int hour;

public int minute;

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

getDialog().setTitle("倒计时");

View view=inflater.inflate(R.layout.dialog, container);

mytime=(TimePicker)view.findViewById(R.id.mytime);

timesubmit=(Button)view.findViewById(R.id.timesure);

timesubmit.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

OnFragmentListener listener=(OnFragmentListener)getActivity();

listener.onFragmentListener(hour, minute);

getDialog().dismiss();

}

});

mytime.setIs24HourView(true);

mytime.setCurrentHour(13);

mytime.setCurrentMinute(14);

mytime.setOnTimeChangedListener(new OnTimeChangedListener() {

@Override

public void onTimeChanged(TimePicker view, int hourOfDay, int minute1) {

// TODO Auto-generated method stub

hour=hourOfDay;

minute=minute1;

Toast.makeText(getActivity(), hour+" "+minute, 100).show();

}

});

return view;

}}

关键代码: public class TimeDialog extends DialogFragment

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState)

【点击事件中的Fragment处理】: 监听radiobutton事件: countdown.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

// TODO Auto-generated method stub

main.showDialog("dialog");

}

});

其中main就是主Activity,获取方式如下:

Main main = (Main) getActivity();

管理对话框显示方式还是写在主Activity里面: public void showDialog(String tag){

TimeDialog dialog=new TimeDialog();

dialog.show(getFragmentManager(), tag);

}

这里就全部完成了,是不是比较简单? 碎片对话框显示方式有两种 1.public int show(FragmentTransaction transaction ,String tag) 2.public int show(Fragment manager, String tag) 区别是第一个进入事务中,同时进入返回栈 第二个只是获得一个事务进行显示。

碎片对话框的好处是:即使设备发生旋转,碎片管理器会执行基本的状态管理,我们不需要做任何的状态管理,对话框就会重建。

推荐:Android 官方推荐 : DialogFragment 创建对话框

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37815413 1、 概述DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Ac

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? AUF法则下的对话框 ? 【楔子】 ?在Actiity页面上做DiaLog似乎非常简单,大部分在学习了控件以后都会使用,但是google希望开发者

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。

澳门银河网上官方赌场