国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android 從底部彈出Dialog(橫向滿屏)的實例代碼

2019-12-12 04:33:38
字體:
供稿:網(wǎng)友

項目中經(jīng)常需要底部彈出框,這里我整理一下其中我用的比較順手的一個方式(底部彈出一個橫向滿屏的dialog)。

效果圖如下所示(只顯示關(guān)鍵部分):

步驟如下所示:

1.定義一個dialog的布局(lay_share.xml)

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/white"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center_vertical"android:orientation="horizontal"android:paddingBottom="@dimen/padding_15"android:paddingTop="@dimen/padding_15"><Viewandroid:layout_width="0dp"android:layout_height="0dp"android:layout_weight="1" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:drawablePadding="@dimen/padding_5"android:drawableTop="@mipmap/ic_weixin_share"android:gravity="center"android:text="微信"android:textColor="@color/color_999999"android:textSize="@dimen/text_14" /><Viewandroid:layout_width="0dp"android:layout_height="0dp"android:layout_weight="1" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:drawablePadding="@dimen/padding_5"android:drawableTop="@mipmap/ic_circle_share"android:gravity="center"android:text="朋友圈"android:textColor="@color/color_999999"android:textSize="@dimen/text_14" /><Viewandroid:layout_width="0dp"android:layout_height="0dp"android:layout_weight="1" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:drawablePadding="@dimen/padding_5"android:drawableTop="@mipmap/ic_weibo_share"android:gravity="center"android:text="微博"android:textColor="@color/color_999999"android:textSize="@dimen/text_14" /><Viewandroid:layout_width="0dp"android:layout_height="0dp"android:layout_weight="1" /></LinearLayout><Viewandroid:layout_width="match_parent"android:layout_height="0.5dp"android:layout_marginLeft="@dimen/padding_10"android:layout_marginRight="@dimen/padding_10"android:background="@color/color_c9c9c9" /><TextViewandroid:id="@+id/tv_cancel"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:padding="@dimen/padding_15"android:text="取消"android:textColor="@color/color_666666"android:textSize="@dimen/text_18" /></LinearLayout>

2.定義彈出框彈出動畫(dialog_enter.xml)

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><translateandroid:duration="300"android:fromYDelta="100%p"android:toYDelta="0" /></set>dialog_enter.xml

3.定義彈出框隱藏動畫(dialog_exit.xml)

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><translateandroid:duration="300"android:fromYDelta="0"android:toYDelta="100%p" /></set>dialog_exit.xml

4.定義動畫style

<!--彈出框動畫--><style name="share_animation" parent="android:Animation"><item name="android:windowEnterAnimation">@anim/dialog_enter</item><item name="android:windowExitAnimation">@anim/dialog_exit</item></style>

5.定義對話框樣式

<!-- 對話框樣式 --><style name="dialog_bottom_full" parent="android:style/Theme.Dialog"><item name="android:windowBackground">@android:color/transparent</item><item name="android:windowNoTitle">true</item><item name="android:windowIsFloating">true</item><item name="android:windowContentOverlay">@null</item><item name="android:scrollHorizontally">true</item></style>

6.最后,在需要從底部彈出dialog的地方,直接調(diào)用showDialog()方法

/*** 顯示分享彈出框*/private void showDialog() {if (mShareDialog == null) {initShareDialog();}mShareDialog.show();}/*** 初始化分享彈出框*/private void initShareDialog() {mShareDialog = new Dialog(this, R.style.dialog_bottom_full);mShareDialog.setCanceledOnTouchOutside(true);mShareDialog.setCancelable(true);Window window = mShareDialog.getWindow();window.setGravity(Gravity.BOTTOM);window.setWindowAnimations(R.style.share_animation);View view = View.inflate(this, R.layout.lay_share, null);view.findViewById(R.id.tv_cancel).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (mShareDialog != null && mShareDialog.isShowing()) {mShareDialog.dismiss();}}});window.setContentView(view);window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);//設(shè)置橫向全屏}

以上所述是小編給大家介紹的Android 從底部彈出Dialog(橫向滿屏)的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 道孚县| 揭西县| 巴东县| 大邑县| 额敏县| 延川县| 陈巴尔虎旗| 榆树市| 仁怀市| 石阡县| 邹平县| 吉木乃县| 彭水| 红安县| 冀州市| 洞口县| 金平| 新建县| 进贤县| 沾益县| 黎城县| 阿拉善盟| 台南市| 合作市| 安泽县| 许昌市| 靖州| 丹棱县| 抚远县| 富平县| 临清市| 铜川市| 康马县| 乌兰察布市| 古丈县| 安远县| 谢通门县| 江孜县| 蓬溪县| 宝鸡市| 呼玛县|