自定义DialogFragment
来源:互联网 发布:情侣装专卖店品牌淘宝 编辑:程序博客网 时间:2024/05/03 09:33
1. drawable下的circular_corner_dialog.xml:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <gradient android:startColor="@android:color/white" android:endColor="@android:color/white"> </gradient> <corners android:topLeftRadius="10dp" android:topRightRadius="10dp" android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp"> </corners> </shape> </item></selector>2. layout下的activity_infodialog.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/transparent" android:gravity="center" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/circular_corner_dialog" android:id="@+id/linearlayout" android:orientation="vertical" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Please input your informaion" android:layout_marginTop="15dp" android:layout_marginBottom="10dp" android:layout_gravity="center_horizontal" android:id="@+id/infoText" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPersonName" android:hint="Name" android:ems="10" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:id="@+id/name" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="number" android:hint="Height(cm)" android:ems="10" android:id="@+id/height" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_weight="1" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal" > <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:hint="Gender" android:editable="false" android:ems="10" android:id="@+id/gender" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_weight="4" /> <ImageButton android:id="@+id/male" android:layout_width="0dp" android:layout_height="match_parent" android:src="@drawable/malebutton" android:layout_weight="1" android:layout_marginRight="10dp" android:background="@drawable/gener_icon_box" /> <ImageButton android:id="@+id/female" android:layout_width="0dp" android:layout_height="match_parent" android:src="@drawable/femalebutton" android:layout_weight="1" android:layout_marginRight="10dp" android:background="@drawable/gener_icon_box" /> </LinearLayout> <com.wys.myUtils.MyCustomButton android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/ok_button" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginBottom="10dp" android:layout_gravity="center_horizontal" /> <com.wys.myUtils.MyCustomButton android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/cancel_button" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginBottom="20dp" android:layout_gravity="center_horizontal" /> </LinearLayout></LinearLayout>
其中MyCustomButton是上一篇博客中自定义的Button。
3. Dialog_activity:
package com.wys.myCameraAndDialog;import android.app.DialogFragment;import android.graphics.Color;import android.graphics.drawable.ColorDrawable;import android.os.Bundle;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.view.Window;import android.widget.EditText;import android.widget.ImageButton;import android.widget.LinearLayout;import com.comdosoft.face.R;import com.wys.myUtils.MyCustomButton;public class InfoDialogActivity extends DialogFragment {private EditText mUsername; private EditText mHeight; private EditText mGender; private LinearLayout mLinearlayout; private MyCustomButton ok_button; private MyCustomButton cancel_button; private ImageButton male; private ImageButton female; public interface DialogActivityListener { void onDialogActivityComplete(EditText username, EditText height, EditText gender); //隐藏软键盘 void onDialogActivitySoftInput(LinearLayout linearlayout); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE); getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));//Resources res = getResources();//Drawable background = res.getDrawable(R.drawable.input_info_panel);//getDialog().getWindow().setBackgroundDrawable(background);// set the animations to use on showing and hiding the dialog//getDialog().getWindow().setWindowAnimations(R.style.MyCustomTheme); View view = inflater.inflate(R.layout.activity_infodialog, container, false); mUsername = (EditText) view.findViewById(R.id.name); mHeight = (EditText) view.findViewById(R.id.height); mGender = (EditText) view.findViewById(R.id.gender); mLinearlayout = (LinearLayout)view.findViewById(R.id.linearlayout); ok_button = (MyCustomButton) view.findViewById(R.id.ok_button); cancel_button = (MyCustomButton) view.findViewById(R.id.cancel_button); male = (ImageButton)view.findViewById(R.id.male); female = (ImageButton)view.findViewById(R.id.female); ok_button.setRadius(15); ok_button.setText("OK"); ok_button.setTextNormalPressedcolor(Color.WHITE, Color.CYAN); ok_button.setBgNormalPressedcolor(Color.GREEN, Color.GRAY); cancel_button.setRadius(15); cancel_button.setText("Cancel"); cancel_button.setTextNormalPressedcolor(Color.WHITE, Color.CYAN); cancel_button.setBgNormalPressedcolor(Color.RED, Color.GRAY); final DialogActivityListener listener = (DialogActivityListener) getActivity(); listener.onDialogActivitySoftInput(mLinearlayout); male.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mGender.setText("male"); } }); female.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { mGender.setText("female"); } }); ok_button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { listener.onDialogActivityComplete(mUsername, mHeight, mGender); } }); cancel_button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { mUsername.setText(""); mHeight.setText(""); mGender.setText(""); getDialog().dismiss(); } }); return view; }public void onResume() { super.onResume(); Window window = getDialog().getWindow(); window.setLayout(window.getAttributes().width, 900);//设置dialog的宽度 window.setLayout(window.getAttributes().height, 1000);//Here! window.setGravity(Gravity.CENTER);}}
最后实现的效果图
0 0
- 自定义DialogFragment
- 自定义DialogFragment
- 自定义DialogFragment
- 自定义Dialog&DialogFragment
- 自定义 DialogFragment 边框圆弧
- Android 自定义dialogfragment
- DialogFragment设置自定义动画
- 自定义dialogfragment全屏
- 自定义Dialog和DialogFragment
- DialogFragment实现自定义进度条
- 自定义dialog 通过DialogFragment
- Android:自定义DialogFragment
- 自定义DialogFragment宽度
- DialogFragment自定义对话框
- android 使用DialogFragment 自定义Dialog
- Android 自定义DialogFragment(个人)
- DialogFragment的使用(自定义Dialog )
- Android 自定义DialogFragment替代popupwindow
- Drawable和Bitmap的区别
- 自定义Button实现圆角和点击效果
- DuiVision开发教程(17)-对话框
- 游戏服务端中使用Servlet和Java注解的一个好设计
- 黑马程序员_84_IO转换流
- 自定义DialogFragment
- 黑马程序员_85_IO流的操作规律
- Qt4学习(2)——布局使用(制作登记界面)
- 黑马程序员_网络编程
- 渗透测试之手动漏洞利用
- Light OJ 1050 Marbles
- 一篇文章学会 git 分支开发
- 5.18
- 黑马程序员_86_File类