您的位置:首页 > 移动开发 > Android开发

Android DialogFragment(1)

2016-03-14 14:24 579 查看
[align=center]Android DialogFragment(1)[/align]

和过去的AlertDialog类似,Android引入的DialogFragment旨在为开发者提供一个“富”dialog,而不必受到过去Android AlertDialog的局限。首先,DialogFragment是一个Fragment,它有Fragment的一切属性和生命周期,其次,DialogFragment具有和AlertDialog相类似的Dialog呈现形式。现在我写一个例子加以说明。

本例简单的以一个按钮启动弹出一个DialogFragment。当点击Button按钮后,弹出一个Android DialogFragment。

Java代码:
package zhangphil.dialog;

import android.app.Activity;
import android.app.DialogFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

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

Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
MyDialogFragment f = new MyDialogFragment();

f.show(getFragmentManager(), "my tag");
}
});
}

private class MyDialogFragment extends DialogFragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

// DialogFragment如同AlertDialog一样,这段代码将取消标题,创建一个单纯的Frame
getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);

// 以下是该Fragment里面的内容

View view = inflater.inflate(android.R.layout.simple_list_item_2, container);
TextView text1 = (TextView) view.findViewById(android.R.id.text1);
TextView text2 = (TextView) view.findViewById(android.R.id.text2);
text1.setText("zhangphil @csdn");
text2.setText("http://blog.csdn.net/zhangphil");
return view;
}
}
}


代码运行结果:



附录:

1,《Android Material Design Dialog》链接地址:http://blog.csdn.net/zhangphil/article/details/48895503
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: