导航:首页 > 操作系统 > 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对话框大小相关的资料

热点内容
单片机编程取反 浏览:894
51单片机课程设计课题 浏览:897
手机淘宝登录怎么加密码 浏览:484
linux快捷方式图标 浏览:37
阳光车险的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