導航:首頁 > 操作系統 > androiddialog顯示位置

androiddialog顯示位置

發布時間:2022-08-12 10:25:27

❶ 在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彈出框 ,layout出現左右兩邊有間距

WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
getWindow().setAttributes(lp);

❸ android Dialog如何實現點擊某一處,Dialog就顯示地那個地方

如果真要這樣做,那你就不要用Dialog了,使用PopupWindow自己寫個類似對話框的View放進去,然後PopupWindow可以設置顯示的具體位置坐標,這樣就滿足你的要求了

❹ Android Dialog如何顯示在空間的下面

Android中Alertdialog是沒有直接顯示在指定控制項下的API的,你可以使用PopupWindow來實現顯示在指定控制項下面的需求。PopupWindow不僅能顯示在指定位置,還可以指定顯示和消失的動畫,不必限定死必須用哪個控制項,只需要實現需求即可。


PopupWindow 是一個可以顯示在當前 Activity 之上的浮動容器,PopupWindow 彈出的位置是能夠改變的,按照有無偏移量,可以分為無偏移和有偏移兩種;按照參照對象的不同又可以分為兩種:相對某個控制項(Anchor 錨點)的位置和在父容器內部的相對位置。

java">LayoutInflatermLayoutInflater=(LayoutInflater)context.getSystemService(LAYOUT_INFLATER_SERVICE);
ViewcontentView=mLayoutInflater.inflate(R.layout.pop,null)
//R.layout.pop為PopupWindow的布局文件
PopupWindowpop=newPopupWindow(contentView,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
pop.setBackgroundDrawable(newBitmapDrawable());
//指定PopupWindow的背景
pop.setFocusable(true);
//指定PopupWindow顯示在你指定的view下
pop.showAsDropDown(your_view);

❺ 如何設置Dialog鋪滿全屏,更改Dialog的顯示位置

AndroidDialog示例代碼:
1.創建象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("請輸入"); //設置框標題
builder.setIcon(android.R.drawable.btn_star); //設置框標題前圖標

2.創建EditText輸入框
final EditText edit = new EditText(context);

3.輸入框賦值給Dialog,並增加確定取消按鍵
builder.setView(edit);
builder.setPositiveButton("確認", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "輸入: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "點取消", Toast.LENGTH_SHORT).show();
}
});

4.設置用api並show彈
builder.setCancelable(true); //設置按鈕否按返鍵取消,false則取消
AlertDialog dialog = builder.create(); //創建框
dialog.setCanceledOnTouchOutside(true); //設置彈框失焦點否隱藏,即點擊屏蔽其否隱藏
dialog.show();

❻ android中dialog下的內容位置偏左(這是虛擬機的,實際手機上偏左很嚴重)如下圖:

一般默認的dialog都不好控制顯示的樣式,及格式,你最好還是自定義view,然後放到dialog里

❼ 在Android應用中任意位置執行代碼彈出Dialog有什麼優雅的實現方案

寫一個基類Activity,在這裡面寫一個Dialog,這樣每個Activity繼承他,想彈出的時候調用基類的方法就行。

❽ android 從底部彈出一個列表框點擊列表框的內容再同樣的彈出一個列表框,如此循環

這個用自定義dialog實現
dialog 的控制項,用你自己的布局, listView要使用自定義Adapter Window window = dialog.getWindow();
window.setGravity(Gravity.BOTTOM); //此處可以設置dialog顯示的位置
window.setWindowAnimations(R.style.mystyle); //添加動畫
styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="mystyle" parent="android:Animation">
<item name="@android:windowEnterAnimation">@anim/dialog_enter</item> //進入時的動畫
<item name="@android:windowExitAnimation">@anim/dialog_exit</item> //退出時的動畫
</style>
</resources>

位於 res/anim/dialog_enter.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

<translate
android:fromYDelta="100%p" %p指相對於父容器
android:ration="600"
/>
</set>

位於 res/anim/dialog_exit.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:toYDelta="100%p"
android:ration="600" //持續時間
/>
</set>

閱讀全文

與androiddialog顯示位置相關的資料

熱點內容
哈利波特魔法覺醒要怎麼選伺服器 瀏覽:993
情感交友網站php 瀏覽:941
id下載不了app怎麼回事 瀏覽:995
有什麼好看的伺服器小說 瀏覽:293
程序員四級沒過有什麼影響 瀏覽:540
單片機與觸摸屏連接 瀏覽:853
進程序員公司能穿涼鞋嗎 瀏覽:245
PDF框大小 瀏覽:84
單片機產生鋸齒波 瀏覽:225
如何修改ie代理伺服器 瀏覽:417
折紙手工解壓玩具不用a4紙 瀏覽:485
怎麼雙向傳輸伺服器 瀏覽:286
電腦如何實現跨網段訪問伺服器 瀏覽:549
模塊化網頁源碼位元組跳動 瀏覽:486
梯度下降演算法中遇到的問題 瀏覽:607
伺服器連接電視怎麼接 瀏覽:323
phploop語句 瀏覽:502
交叉編譯工具鏈里的庫在哪 瀏覽:782
安卓手q換號怎麼改綁 瀏覽:399
nba球星加密貨幣 瀏覽:789