DialogFragment全屏加控制元件顯示在底部
大家都知道dialogfragment單純的全屏顯示很容易(什麼什麼Match_parent解決),單純的顯示在底部也很容易(什麼什麼Gravity.Bottom解決),但是又要全屏又要顯示在底部就不容易了。
為什麼呢?全屏顯示,把幾個控制元件顯示在底部,你會發現這個控制元件神奇的消失了。
就像這樣,上半部分是0dp,weight=1,到了手機上,下面這些控制元件不會顯示,除非你上半部分的0dp改成固定的長度。
就算你使用這樣的程式碼
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/pop_content" android:background="@color/colorPrimary"> <ImageView android:layout_width="50dp" android:layout_height="50dp" android:src="@mipmap/pop_close" android:layout_gravity="center_horizontal|bottom"/> </FrameLayout>
他會全屏變成colorprimary的顏色,並不會顯示imageview。
1.使用這樣的方法
WindowManager.LayoutParams attributes = window.getAttributes(); attributes.width=WindowManager.LayoutParams.MATCH_PARENT; attributes.height=WindowManager.LayoutParams.MATCH_PARENT-getBarHeight();他會全屏顯示,但是imageview不顯示
2.使用這樣的方法
這種方法,他會顯示imageview,但是通知欄被遮住了,我想通知欄不被遮住.因為我原本介面是顯示通知欄的,彈出dialog後整個介面往上滑動.這樣的效果不好.
this.setStyle(DialogFragment.STYLE_NORMAL,android.R.style.Theme_NoTitleBar_Fullscreen);
WindowManager.LayoutParams attributes = window.getAttributes(); attributes.width=WindowManager.LayoutParams.MATCH_PARENT; // attributes.height=WindowManager.LayoutParams.MATCH_PARENT-getBarHeight();
總結下來就是:1要全屏顯示,2通知欄不被頂掉;
那我就自定義一個樣式
<style name="ShowTitleDontShowActionBar"> <item name="android:windowNoTitle">false</item> <item name="android:layout_height">match_parent</item> <item name="android:fitsSystemWindows">true</item> <item name="android:windowActionBar">false</item> </style>
this.setStyle(DialogFragment.STYLE_NORMAL,R.style.ShowTitleDontShowActionBar);
Dialog dialog = getDialog(); if(dialog!=null){ Window window = dialog.getWindow(); if(window!=null){ WindowManager.LayoutParams attributes = window.getAttributes(); attributes.width=WindowManager.LayoutParams.MATCH_PARENT; // attributes.height=WindowManager.LayoutParams.MATCH_PARENT-getBarHeight(); // attributes.gravity= Gravity.BOTTOM; window.setAttributes(attributes); // window.setBackgroundDrawable(null); window.setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(getContext(),R.color.half_translucent))); } }
要顯示title(就是通知欄),要全屏height=match_parent.好了下面兩行程式碼不知道有沒有用,加上再說。完全O雞巴K,問題解決
相關推薦
DialogFragment全屏加控制元件顯示在底部
大家都知道dialogfragment單純的全屏顯示很容易(什麼什麼Match_parent解決),單純的顯示在底部也很容易(什麼什麼Gravity.Bottom解決),但是又要全屏又要顯示在底部就不容易了。 為什麼呢?全屏顯示,把幾個控制元件顯示在底部,你會發現這個控制元
Android開發 - 設置DialogFragment全屏顯示
方法 err override cat dial group 如果 全屏顯示 log 默認的DialogFragment並不是全屏,但有些需求需要我們將對話框設置為全屏(內容全屏),Android並沒有提供直接的API,通過其它不同的方法設置全屏在不同的機型上總有一些詭異的
設定DialogFragment全屏顯示
預設的DialogFragment並不是全屏,但有些需求需要我們將對話方塊設定為全屏(內容全屏),Android並沒有提供直接的API,通過其它不同的方法設定全屏在不同的機型上總有一些詭異的問題,經過測試,下面的方法可以實現各個機型的全屏。 測試 SDK Ver
ASP.NET中利用DataGrid控制元件顯示圖片以及在圖片和文字上加超連結
資料表: 介面程式碼: <asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="False" BorderWidth="0px" PageSiz
IOS開發storyboard建立controller黑屏以及控制元件不顯示問題。
其實我覺得StoryBoard真的很沒用,除非是特別簡單就一兩個頁面,而且頁面樣式簡單的還比較方便,稍微複雜點,就不好用了。推薦刪掉StoryBoard,用xib來自定義所有的view。 今天用了下StoryBoard,建了一個頁面A,一個頁面B,A點選按鈕可以到B頁面,
[轉]一種讓超大banner圖片不拉伸、全屏寬、居中顯示的方法
posit code overflow 都是 flow cnblogs width banner 圖片 現在很多網站的Banner圖片都是全屏寬度的,這樣的網站看起來顯得很大氣。這種Banner一般都是做一張很大的圖片,然後在不同分辨率下都是顯示圖片的中間部分。實現方法如下
Android中使用ImageView控制元件顯示網路圖片
在android4.0以後的版本中,為了使得主介面流暢,所以設定了不允許在主執行緒中訪問網路,為了安全,又不允許在其它執行緒中訪問控制元件,這樣就造成了ImageView等需要使用網路的控制元件更新時的問題,本文以Handler+Runnable的方式實現了ImageView控制元件顯示網路圖片.
Asp.net Image控制元件顯示Bitmap生成影象
from:https://blog.csdn.net/qq_29011299/article/details/81137980 using(Bitmap bmp=new Bitmap(300,50)) { &nbs
使用TreeView控制元件顯示磁碟檔案
using System; using System.Windows.Forms; using System.IO; namespace WindowsFormsApplication1 { public partial class Form1 : Form {
手機顯示資料的原理:手機通過WebView控制元件顯示網頁資料
WebView控制元件是用於顯示網頁的,手機根據網頁建立一個WebView,之後顯示出來,所以顯示WebView網頁是通過WebView控制元件顯示的。 <script type="text/javascript" charset="utf-8
Winform下使用ListView控制元件和ImageList控制元件顯示圖片縮圖
一、基本概念 1、ImageList控制元件 ImageList元件,又稱為圖片儲存元件,它主要用於儲存圖片資源,然後在控制元件上顯示出來,這樣就簡化了對圖片的管理。ImageList元件的主要屬性是Images,它包含關聯控制元件將要使用的圖片。每個單獨的圖片可以通過其索引值或鍵值來訪問。
unity3d嵌入到iOS工程(3d物體和iOS控制元件顯示在同一個view上)
最近公司要開發一款用於3d展示的應用,通過在網上拜讀各大神的帖子,終於完美解決此類問題。(unity3d版本2017.3,xcode9.2) 前邊unity3d打包iOS工程的方法在此就不做贅述,其他帖子基本可以解決,本帖直接上乾貨。 1、在打包好的iOS工程中,找到UnityAppCont
MFC中picture控制元件顯示圖片
1.開啟BMP圖片 CBitmap* m_pBitmap = new CBitmap; m_pBitmap->LoadBitmap(IDB_BITMAP1); 2.第一種方式,用CDC顯示 CDC *pDC = GetDlgItem(IDC_AAAA)->Ge
DatePicker控制元件顯示具體的時分秒
DatePicker控制元件顯示具體的時分秒 聽語音 | 瀏覽:3331 | 更新:2017-04-18 18:37 1 2 3 4 5 6 分步閱讀 在我們開發程式的
C#如何根據時間控制元件顯示資料庫中對應資訊(下)
選定時間範圍,顯示資訊 下篇的需求是選擇一個時間段之間的資料 程式碼如下: <1>Entity using System; using System.Collections.Generic; using System.
C#如何根據時間控制元件顯示資料庫中對應資訊(上)
前言 聽說有的朋友們機房合作時只用了兩天就把程式碼編寫完成了,但我實際編碼時卻經常被卡住,還是技術不到家啊,重構時用到的複用性強的還可以,以前沒做過的可就懵逼了。所以,我又要開始一波總結了。 這裡分為兩部分:根據一個時間控制元件顯示資訊在這篇。根據兩個時間控制元件顯示資訊請
基於python3.6+pyQT5利用Graphics View 控制元件顯示影象並實現其縮放
利用eric6+QTdesigner 實現了軟體介面的編寫,軟體介面如圖所示,一共有三個控制元件(放大按鈕、縮小按鈕以及Graphics View),具體佈置如圖所示,將按鈕項式名稱改為“放大”、“縮小”。 然後編譯介面,生成程式碼如下: from Py
C#程式設計學習(05):使用webbroswer控制元件顯示地圖並標註點位座標
控制元件準備:新建windows窗體應用程式,新增一個標記按鈕(btn_tagPos)、標籤控制元件(經度和緯度,實時經緯度顯示)、編輯框控制元件(記錄輸入的經度和緯度值)、webbroswer控制元件(webbroswer1)和計時器控制元件(timer1) 實現程式碼:
Android P 版本 按power鍵熄屏再亮屏UI控制元件無響應
測試步驟: [1]設定-->安全性和位置資訊-->螢幕鎖定-->選擇"無" [2]進入可以本地僅僅可以重新整理的介面. [3]先熄屏,然後在亮屏. [4]發現UI有卡死的效果.(點選無反應,上次滑動也無反應) [5]按back/home/Recents,
解決DialogFragment全屏時狀態列變黑
這是一個引用 https://blog.csdn.net/jingzz1/article/details/83061780 自己修改後的: import android.app.Activity; import android.app.Dialog; import