導航:首頁 > 操作系統 > android對話框大小

android對話框大小

發布時間:2023-05-25 15:48:19

『壹』 android 如何自定義對話框大小

java">WindowManagerm=getWindowManager();
Displayd=m.getDefaultDisplay();//為獲取屏幕寬、高

LayoutParamsp=getWindow().getAttributes();//獲取對話框當前的參數值

p.height=(int)(d.getHeight()*0.6);//高度設置為屏幕的0.6

p.width=(int)(d.getWidth()*0.95);//寬度設置為屏幕的0.95

getWindow().setAttributes(p);//設置生效

『貳』 在android開發中,如何控制dialog 的大小 和 圖片的大小

1、控制大小和位置
/*
*
獲取對話框的窗口對象及參數對象以修改對話框的布局設置,
*
可以直接調用getWindow(),表示獲得這個Activity的Window
*
對象,這樣這可以以同樣的方式改變這個Activity的屬性.
*/
Window
dialogWindow
=
dialog.getWindow();
WindowManager.LayoutParams
lp
=
dialogWindow.getAttributes();
dialogWindow.setGravity(Gravity.LEFT
|
Gravity.TOP);
/*
*
lp.x與lp.y表示相對於原始位置的偏移.
*
當參數值包含Gravity.LEFT時,對話框出現在左邊,所以lp.x就表示相對左邊的偏移,負值忽略.
*
當參數值包含Gravity.RIGHT時,對話框出現在右邊,所以lp.x就表示相對右邊的偏移,負值忽略.
*
當參數值包含Gravity.TOP時,對話框出現在上邊,所以lp.y就表示相對上邊的偏移,負值忽略.
*
當參數值包含Gravity.BOTTOM時,對話框出現在下邊,所以lp.y就表示相對下邊的偏移,負值忽略.
*
當參數值包含Gravity.CENTER_HORIZONTAL時
*
,對話框水平居中,所以lp.x就表示在水平居中的位置移動lp.x像素,正值向右移動,負值向左移動.
*
當參數值包含Gravity.CENTER_VERTICAL時
*
,對話框垂直居中,所以lp.y就表示在垂直居中的位置移動lp.y像素,正值向右移動,負值向左移動.
*
gravity的默認值為Gravity.CENTER,即Gravity.CENTER_HORIZONTAL
|
*
Gravity.CENTER_VERTICAL.
*
*
本來setGravity的參數值為Gravity.LEFT
|
Gravity.TOP時對話框應出現在程序的左上角,但在
*
我手機上測試時發現距左邊與上邊都有一小段距離,而且垂直坐標把程序標題欄也計算在內了,
*
Gravity.LEFT,
Gravity.TOP,
Gravity.BOTTOM與Gravity.RIGHT都是如此,據邊界有一小段距離
*/
lp.x
=
100;
//
新位置X坐標
lp.y
=
100;
//
新位置Y坐標
lp.width
=
300;
//
寬度
lp.height
=
300;
//
高度
lp.alpha
=
0.7f;
//
透明度
//
當Window的Attributes改變時系統會調用此函數,可以直接調用以應用上面對窗口參數的更改,也可以用setAttributes
//
dialog.onWindowAttributesChanged(lp);
dialogWindow.setAttributes(lp);
/*
*
將對話框的大小按屏幕大小的百分比設置
*/
//
WindowManager
m
=
getWindowManager();
//
Display
d
=
m.getDefaultDisplay();
//
獲取屏幕寬、高用
//
WindowManager.LayoutParams
p
=
getWindow().getAttributes();
//
獲取對話框當前的參數值
//
p.height
=
(int)
(d.getHeight()
*
0.6);
//
高度設置為屏幕的0.6
//
p.width
=
(int)
(d.getWidth()
*
0.65);
//
寬度設置為屏幕的0.95
//
dialogWindow.setAttributes(p);

『叄』 android將activity設置成自定義的Dialog怎麼調整大小

在任何時候,除非一定需要,否則不要強指你的彈出框的寬度和高度。

你把你的彈框的寬度設成wrap型的,就可以根據它的子內容的寬度自動拉伸

『肆』 android對話框AlertDialog如何設置大小為dip,不同解析度的屏幕都能適應

1 如果只按你的要求來使用dip, 可以在配置文件中使用dimens.xml 在里邊配置數值 如
<resources>
<dimen name="dimens_base_margin">10dp</dimen>
</resources>

然後代碼中讀取 String string = getString(R.dimen.activity_horizontal_margin);
2 適配不是這么簡單的,參考下 http://www.eoeandroid.com/thread-193122-1-1.html
影響顯示的因素有屏幕解析度,像素密度,美工通常給你的都是像素值,你需要用公式轉換下形成你項目里的值

『伍』 android系統自帶的ProgressDialog對話框顯示下載文件的大小無法自定義,求解

要用ProgressDialog.setMax設置最大值.系統默認的是100的。

『陸』 android自定義對話框寬不能占滿父layout的解決辦法有哪些

1.FrameLayout

FrameLayout 是 最簡單的一個布局對象。它被定製為你屏幕上的一個空白備用區域,之後你可以在其中填充一個單一對象 —
比如,一張你要發布的圖片。所有的子元素將會固定
在屏幕的左上角;你不能為FrameLayout中的一個子元素指定一個位置。後一個子元素將會直接在前一個子元素之上進行覆蓋填充,把它們部份或全部擋
住(除非後一個子元素是透明的)。

FrameLayout is the simplest type of layout object. It's basically a blank
space on your screen that you can later fill with a single object — for example,
a picture that you'll swap in and out. All child elements of the FrameLayout are
pinned to the top left corner of the screen; you cannot specify a different
location for a child view. Subsequent child views will simply be drawn over
previous ones, partially or totally obscuring them (unless the newer object is
transparent).

FrameLayout默認填充widget等在左上角,然後後面的控制項遮住前面的,比如說有兩個TextView,Text內容分別是I am
textview 1 和

I am textview 2 看到的效果會如下:?xml version="1.0" encoding="utf-8"?>

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="I am textview 1"

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="I am textview 2"

/>

2.LinearLayout

LinearLayout
以你為它設置的垂直或水平的屬性值,來排列所有的子元素。所有的子元素都被堆放在其它元素之後,因此一個垂直列表的每一行只會有一個元素,而不管他們有多
寬,而一個水平列表將會只有一個行高(高度為最高子元素的高度加上邊框高度)。LinearLayout保持子元素之間的間隔以及互相對齊(相對一個元素
的右對齊、中間對齊或者左對齊)。

LinearLayout
還支持為單獨的子元素指定weight。好處就是允許子元素可以填充屏幕上的剩餘空間。這也避免了在一個大屏幕中,一串小對象擠成一堆的情況,而是允許他們放大填充空白。子元素指定一個weight值,剩餘的空間就會按這些子元素指定的weight比例分配給這些子元素。默認的weight值為0。例如,如
果有三個文本框,其中兩個指定了weight值為1,那麼,這兩個文本框將等比例地放大,並填滿剩餘的空間,而第三個文本框不會放大。

下 面的兩個窗體採用LinearLayout,包含一組的元素:一個按鈕,幾個標簽,幾個文本框。兩個窗體都為布局做了一番修飾。文本框的width被設置
為FILL_PARENT;其它元素的width被設置為WRAP_CONTENT。默認的對齊方式為左對齊。左邊的窗體沒有設置weight(默認為
0);右邊的窗體的comments文本框weight被設置為1。如果Name文本框也被設置為1,那麼Name和Comments這兩個文本框將會有同樣的高度。

在 一個水平排列的LinearLayout中,各項按他們的文本基線進行排列(第一列第一行的元素,即最上或最左,被設定為參考基線)。因此,人們在一個窗
體中檢索元素時,就不需要七上八下地讀元素的文本了。我們可以在layout的XML中設置
android:baselineAligned="false",來關閉這個設置。

LinearLayout aligns all children in a single direction — vertically or
horizontally, depending on how you define the orientation attribute. All
children are stacked one after the other, so a vertical list will only have one
child per row, no matter how wide they are, and a horizontal list will only be
one row high (the height of the tallest child, plus padding). A LinearLayout
respects margins between children and the gravity(right, center, or left
alignment) of each child.

LinearLayout是Android
sdk創建project時的默認Layout,支持兩種方式,默認是垂直vertical的線性layout,另一個是水平horizontal方向的線性排列。

效果如下android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="I am textview 1"

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="I am textview 2"

/>android:orientation="horizontal"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="10px"

android:layout_height="fill_parent"

android:text="I am textview 1"

/>

android:layout_width="10px"

android:layout_height="wrap_content"

android:text="I am textview 2"

/>

3.RelativeLayout

RelativeLayout 允
許子元素指定他們相對於其它元素或父元素的位置(通過ID指定)。因此,你可以以右對齊,或上下,或置於屏幕中央的形式來排列兩個元素。元素按順序排列,
因此如果第一個元素在屏幕的中央,那麼相對於這個元素的其它元素將以屏幕中央的相對位置來排列。如果使用XML來指定這個layout,在你定義它之前,
被關聯的元素必須定義。

這是一個RelativeLayout例子,其中有可視的和不可視的元素。基礎的屏幕layout對象是一個RelativeLayout對象。

這 個視圖顯示了屏幕元素的類名稱,下面是每個元素的屬性列表。這些屬性一部份是由元素直接提供,另一部份是由容器的LayoutParams成員
(RelativeLayout的子類)提供。RelativeLayout參數有
width,height,below,alignTop,toLeft,padding和marginLeft。注意,這些參數中的一部份,其值是相對
於其它子元素而言的,所以才RelativeLayout。這些參數包括toLeft,alignTop和below,用來指定相對於其它元素的左,上和
下的位置。

RelativeLayout lets child views specify their position relative to the
parent view or to each other (specified by ID). So you can align two elements by
right border, or make one below another, centered in the screen, centered left,
and so on. Elements are rendered in the order given, so if the first element is
centered in the screen, other elements aligning themselves to that element will
be aligned relative to screen center. Also, because of this ordering, if using
XML to specify this layout, the element that you will reference (in order to
position other view objects) must be listed in the XML file before you refer to
it from the other views via its reference ID.android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:padding = "10px"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="I am textview 1"

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="I am textview 2"

android:layout_marginLeft = "150px"

/>

android:id="@+id/Button02" android:layout_width="wrap_content"
android:text="Ok"

android:layout_height="wrap_content"

android:layout_marginLeft = "240px"

android:layout_marginTop = "40px"

>

android:layout_marginLeft = "160px"

android:layout_marginTop = "40px"

>

4.AbsoluteLayout

AbsoluteLayout 可 以讓子元素指定準確的x/y坐標值,並顯示在屏幕上。(0,
0)為左上角,當向下或向右移動時,坐標值將變大。AbsoluteLayout沒有頁邊
框,允許元素之間互相重疊(盡管不推薦)。我們通常不推薦使用AbsoluteLayout,除非你有正當理由要使用它,因為它使界面代碼太過剛性,以至
於在不同的設備上可能不能很好地工作。

5.TableLayout

TableLayout 將子元素的位置分配到行或列中。android的
一個TableLayout由許多的TableRow組成,每個TableRow都會定義一個row(事實上,你可以定義其它的子對象,這在下面會解釋
到)。TableLayout容器不會顯示row、cloumns或cell的邊框線。每個row擁有0個或多個的cell;每個cell擁有一個
View對象。表格由列和行組成許多的單元格。表格允許單元格為空。單元格不能跨列,這與HTML中的不一樣。下圖顯示了一個TableLayout,圖
中的虛線代表不可視的單元格邊框。

列可以被隱藏,也可以被設置為伸展的從而填充可利用的屏幕空間,也可以被設置為強制列收縮直到表格匹配屏幕大小。對於更詳細信息,可以查看這個類的參考文檔。

TableLayout positions its children into rows and columns. TableLayout
containers do not display border lines for their rows, columns, or cells. The
table will have as many columns as the row with the most cells. A table can
leave cells empty, but cells cannot span columns, as they can in HTML.

TableRow objects are the child views of a TableLayout (each TableRow
defines a single row in the table). Each row has zero or more cells, each of
which is defined by any kind of other View. So, the cells of a row may be
composed of a variety of View objects, like ImageView or TextView objects. A
cell may also be a ViewGroup object (for example, you can nest another
TableLayout as a cell).

TableLayout和HTML的基本上類似,還提供TableRow class, 直接等價與比如說要做成一個類似下面的HTML葉面

I am textview1I am textview2

[OK button]

[Cancel button]android:layout_width="fill_parent"

android:layout_height="wrap_content"

>

android:text="I am textview 1" />

android:paddingLeft = "20px"

android:width = "200px"

android:text="I am textview 2"

/>

android:id="@+id/Button02" android:text="Ok"

>

>

『柒』 Android App 常用圖標尺寸規范

1. 程序啟動圖標:

LDPI (Low Density Screen,120 DPI),其圖標大小為 36 x 36 px。

MDPI (Medium Density Screen, 160 DPI),其圖標大小為 48 x 48 px。

HDPI (High Density Screen, 240 DPI),其圖標大小為 72 x 72 px。

xhdpi (Extra-high density screen, 320 DPI),其圖標大小為 96 x 96 px。

xxhdpi(xx-high density screen, 480 DPI),其圖標大小為144 x 144 px。

2.底部菜單圖標

1. 大屏:

1. 完整圖片(紅色): 72 x 72 px

2. 圖標(藍色): 48 x 48 px

3. 圖標外邊框(粉色): 44 x 44 px

1. 中屏:

1. 完整圖片: 48 x 48 px

2. 圖標: 32 x 32 px

3. 圖標外邊框: 30 x 30 px

1. 小屏:

1. 完整圖片: 36 x 36 px

2. 圖標: 24 x 24 px

3. 圖標外邊框: 22 x 22 px

3. 彈出對話框頂部圖標

小屏24 x 24 px Low density screen (ldpi)

中屏32 x 32 px Medium density screen (mdpi)

大屏48 x 48 px High density screen (hdpi)

4. 長列表內部列表項圖標

小屏24 x 24 px Low density screen (ldpi)

中屏32 x 32 px Medium density screen (mdpi)

大屏48 x 48 px High density screen (hdpi)

5. 底部或頂部tab標簽圖標

1. 大屏 (hdpi) screens:

1. 完整圖片(紅色): 48 x 48 px

2. 圖標(藍色): 42 x 42 px

1. 中屏 (mdpi) screens:

1. 完整圖片: 32 x 32 px

2. 圖標: 28 x 28 px

1. 小屏(ldpi) screens:

1. 完整圖片: 24 x 24 px

2. 圖標: 22 x 22 px

6. 底部狀態欄圖標

ldpi (120 dpi) 18 x 18 px 小屏

mdpi (160 dpi) 24 x 24 px 中屏

hdpi (240 dpi) 36 x 36 px 大屏

xhdpi (320 dpi) 48 x 48 px 特大屏

閱讀全文

與android對話框大小相關的資料

熱點內容
51單片機課程設計課題 瀏覽:895
手機淘寶登錄怎麼加密碼 瀏覽:481
linux快捷方式圖標 瀏覽:34
陽光車險的app叫什麼名字 瀏覽:461
購買單片機的器件時需要給商家啥 瀏覽:534
並行編譯技術的發展 瀏覽:549
阿里雲伺服器安裝管理 瀏覽:550
java手機開發教程 瀏覽:674
我的世界怎麼刪除伺服器數據 瀏覽:671
linux內存子系統 瀏覽:972
加密思維幣 瀏覽:690
魅族訪客文件夾 瀏覽:52
添加的文件夾怎麼找 瀏覽:617
程序員涉黃 瀏覽:700
maven編譯resources下的js 瀏覽:521
ubuntu文件移動命令 瀏覽:229
安卓i怎麼查找蘋果手機 瀏覽:951
雲伺服器宕機概率 瀏覽:232
在線買葯用什麼app知乎 瀏覽:815
ubuntu解壓xz文件 瀏覽:676