當前位置:首頁 » 安卓系統 » androiddialog標題

androiddialog標題

發布時間: 2023-01-19 09:38:34

Ⅰ android如何寫一個自定義的dialog可以在Title的位置彈出來

mDialog=newDialog(context,R.style.customDialog);
mDialog.setContentView(R.layout.dialog_layout);
mDialog.setCanceledOnTouchOutside(true);
WindowManager.LayoutParamsparams=mDialog.getWindow().getAttributes();
params.gravity=Gravity.TOP;//這個設置使這個dialog從上方彈出來
params.windowAnimations=1;

WindowManagermanager=(WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
Displaydisplay=manager.getDefaultDisplay();
windowHeight =display.getHeight();
windowWidth =display.getWidth();
params.width=windowWidth;
params.height=windowHeight;

mDialog.findViewById(R.id.right_button).setOnClickListener(newView.OnClickListener(){

@Override
publicvoidonClick(Viewv){
mDialog.dismiss();
}
});

mDialog.findViewById(R.id.dropdownBckgrnd).setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
mDialog.dismiss();
}
});

Ⅱ android:自定義Dialog(通用)

自定義Dialog是一個非常常見的需求,Dialog上可以顯示圖標,或者標題,顯示1個或者2個兩個按鈕。

效果如下:

先定義Dialog樣式:

再去定義對話框的布局,首先來個圓角背景:

布局:

最後送上Dialog源碼

好了,下面就是使用了:

Ⅲ 如何給android dialog 添加到標題欄背景

dialog.setConentView(布局,0,0);
你找找dialog.set的Api,看看有沒有,要設置在show之前好像,如果還不知道,我再去項目中找代碼給你

Ⅳ android設置dialog在第幾層顯示

android中dialog都是彈出的對話框,沒有第幾層這個概念,只有dialog有級別。
具體實現代碼:
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();

Ⅳ 安卓怎麼修改系統「DIALOG」風格

具體步驟如下:

1編寫一個文本樣式。

DIALOG的標題是一個textview,在sytles.xml中,添加如下代碼來設置你自己的文本樣式:

<style name="DialogWindowTitle">
<item name="android:textSize">22sp</item>
<item name="android:textColor">@color/font_dark_grey</item>
</style>

2設置對話框的標題主題。

上面的標題文本並不能直接設置為對話框的標題樣式。 我們還需要編寫一個表示標題的主題的style,在這里指定標題的文本樣式。代碼如下:

<style name="DialogWindowTitle.DeviceDefault">
<item name="android:maxLines">1</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:textAppearance">@style/DialogWindowTitle</item>
</style>

3設置對話框主題。

接下來,我們編寫我們的對話框主題,在這里指定標題的主題。由於一些屬性並不是public的,所以我們需要繼承自原來的某個style,代碼如下:

<!--Dialog主題-->
<style name="Theme.DeviceDefault.Dialog" parent="@android:style/Theme.DeviceDefault.Light.Dialog">
<item name="android:windowTitleStyle">@style/DialogWindowTitle.DeviceDefault</item>
</style>

4自定義App的主題。

接下來,我們需要在我們的App theme中指定我們的對話框使用這種主題,所以需要定義一個App theme。同樣由於App theme的許多屬性並不是public的(比如下面要提到的標題下面的那條藍線),所以我們要繼承自一個原生的style。這里我根據程序需要選擇了Theme.Holo.Light.NoActionBar,代碼如下:

<style name="ParkingTheme" parent="@android:style/Theme.Holo.Light.NoActionBar">
<item name="android:dialogTheme">@style/Theme.DeviceDefault.Dialog</item>
</style>

5指定App主題

我們需要在AndroidManifest.xml文件中,指定我們的app主題。這步很簡單,只需要在application標簽中指定android:theme的值即可,如下:

android:theme="@style/ParkingTheme"

6編寫AlertDialog主題。

我們無法直接繼承系統主題里的AlertDialog的style。如把parent指定為Theme.DeviceDefault.Dialog.Alert,Theme.Holo.Dialog.Alert,Theme.DeviceDefault.Light.Dialog.Alert或Theme.Holo.Light.Dialog.Alert,都會導致編譯不過。所以我們需要繼承自Dialog的style。在這里我以Theme.Holo.Light.Dialog為例,代碼如下:

<!--AlderDialog主題-->
<style name="Theme.DeviceDefault.Dialog.Alert" parent="@android:style/Theme.Holo.Light.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowTitleStyle">@style/DialogWindowTitle.DeviceDefault</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
<item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
</style>

7指定AlertDialog的主題。

我們需要在第4步所說的自定義的AppTheme中,添加一行代碼來指定要使用的AlertDialog的style,代碼如下:

<item name="android:alertDialogTheme">@style/Theme.DeviceDefault.Dialog.Alert</item>

8修改標題下面的藍色線。

表示這條藍色的線的叫做titleDivider,我們可以通過getResources()的API來獲取它的IP,然後設置顏色。代碼如下:

public static final void dialogTitleLineColor(Dialog dialog, int color) {
Context context = dialog.getContext();
int divierId = context.getResources().getIdentifier("android:id/titleDivider", null, null);
View divider = dialog.findViewById(divierId);
divider.setBackgroundColor(color);

這行代碼對於自定義的Dialog,可以在setContentView之後調用。但是對於AlertDialog,必須在show()方法被調用之後才可以去調用,否則會報錯。

Ⅵ android activity 的 dialog風格怎麼把標題去掉

有兩種方式:
在xml文件中進行配置
在項目的清單文件AndroidManifest.xml中,找到需要全屏或設置成無標題欄的Activity,在該Activity進行如下配置即可。
實現全屏效果:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
實現無標題欄(但有系統自帶的任務欄):
android:theme="@android:style/Theme.NoTitleBar"
編寫代碼設置
在程序中編寫代碼進行設置,只需在onCreate()方法中加入如下代碼即可
實現全屏效果:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
實現無標題欄(但有系統自帶的任務欄):
requestWindowFeature(Window.FEATURE_NO_TITLE);
附:Android系統自帶樣式
android:theme="@android:style/Theme.Dialog" 將一個Activity顯示為能話框模式
android:theme="@android:style/Theme.NoTitleBar" 不顯示應用程序標題欄
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不顯示應用程序標題欄,並全屏
android:theme="Theme.Light" 背景為白色
android:theme="Theme.Light.NoTitleBar" 白色背景並無標題欄
android:theme="Theme.Light.NoTitleBar.Fullscreen" 白色背景,無標題欄,全屏
android:theme="Theme.Black" 背景黑色
android:theme="Theme.Black.NoTitleBar" 黑色背景並無標題欄
android:theme="Theme.Black.NoTitleBar.Fullscreen" 黑色背景,無標題欄,全屏
android:theme="Theme.Wallpaper" 用系統桌面為應用程序背景
android:theme="Theme.Wallpaper.NoTitleBar" 用系統桌面為應用程序背景,且無標題欄
android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" 用系統桌面為應用程序背景,無標題欄,全屏
android:theme="Translucent" 透明背景
android:theme="Theme.Translucent.NoTitleBar" 透明背景並無標題
android:theme="Theme.Translucent.NoTitleBar.Fullscreen" 透明背景並無標題,全屏
android:theme="Theme.Panel" 面板風格顯示
android:theme="Theme.Light.Panel" 平板風格顯示
本回答由電腦網路分類達人 呂明推薦
評論
1 7

千鋒教育 | 中國移動互聯網研發培訓領導品...
主營:iOS、Android、HTML5、UI、PHP、Java培訓
給TA留言
其他回答


Android
Manifest.xml注冊當前activity時更改theme屬性
具體如下:
<activity android:name=".Result" android:label="@string/app_name" android:theme="@android:style/Theme.Dialog"/>

Ⅶ android dialog標題文字變粗了怎麼解決

設置ProgressDialog
的layout
那麼應該也可以獲取他的View吧,果然Dialog
就有一個獲取View的方法:
復制代碼代碼如下:
public
abstract
View
getDecorView
()
Added
in
API
level
1
Retrieve
the
top-level
window
decor
view
(containing
the
standard
window
frame/decorations
and
the
client's
content
inside
of
that),
which
can
be
added
as
a
window
to
the
window
manager.
Note
that
calling
this
function
for
the
first
time
"locks
in"
various
window
characteristics
as
described
in
只要有了View
我就可以找到其中的TextView,並設置相應的字體大小,一下是我的實現代碼:
復制代碼代碼如下:
/**
*
顯示
進度對話框
*
@param
message
消息
*
@param
cancel
是否可取消
*
@param
textsize
字體大小
*/
protected
final
void
showProgressDialog(String
message,boolean
cancel,int
textsize)
{
//
TODO
Auto-generated
method
stub
mProgress
=
new
ProgressDialog(this);
mProgress.setMessage(message);
mProgress.setCancelable(cancel);
mProgress.setOnCancelListener(null);
mProgress.show();
setDialogFontSize(mProgress,textsize);
}
private
void
setDialogFontSize(Dialog
dialog,int
size)
{
Window
window
=
dialog.getWindow();
View
view
=
window.getDecorView();
setViewFontSize(view,size);
}
private
void
setViewFontSize(View
view,int
size)
{
if(view
instanceof
ViewGroup)
{
ViewGroup
parent
=
(ViewGroup)view;
int
count
=
parent.getChildCount();
for
(int
i
=
0;
i
<
count;
i++)
{
setViewFontSize(parent.getChildAt(i),size);
}
}
else
if(view
instanceof
TextView){
TextView
textview
=
(TextView)view;
textview.setTextSize(size);
}
}

Ⅷ 如何自定義Android Dialog的樣式

如何自定義Android Dialog的樣式? Android 中自定義Dialog的樣式,主要是通過自定義的xml,然後載入到dialog的背景中,如下步驟:

1、自定義Dialog
final Dialog dialog = new Dialog(this, R.style.Theme_dialog);
2、窗口布局
View contentView = LayoutInflater.from(this).inflate(R.layout.select_list_dialog,null);
3、把設定好的窗口布局放到dialog中
dialog.setContentView(contentView);
4、設定點選視窗空白處取消會話

dialog.setCanceledOnTouchOutside(true);
5、具體的操作
ListView msgView = (ListView)contentView.findViewById(R.id.listview_flow_list);
6、展示視窗
dialog.show();例:final Dialog dialog = new Dialog(this,R.style.Theme_dialog);View contentView =LayoutInflater.from(this).inflate(R.layout.select_list_dialog, null);dialog.setContentView(contentView);dialog.setCanceledOnTouchOutside(true);ListView msgView = (ListView)contentView.findViewById(R.id.listview_flow_list);TextView titleText = (TextView)contentView.findViewById(R.id.title);titleText.setText("請選擇銀行卡");SelectBankCardDialogAdapter adapter =new SelectBankCardDialogAdapter(this, mBankcardList);msgView.setAdapter(adapter);msgView.setOnItemClickListener(newOnItemClickListener() {@Overridepublic void onItemClick(AdapterViewparent, View view, int position, long id) {Toast.makeText(RechargeFlowToMobileActivity.this, position+"",0).show();mSelectCard =mBankcardList.get(position);String area = mSelectCard.getBank_card();mCardNumberText.setText(area);dialog.di *** iss();}});Button closeBtn = (Button)contentView.findViewById(R.id.close);closeBtn.setClickable(true);closeBtn.setOnClickListener(newView.OnClickListener() {@Overridepublic void onClick(View v) {dialog.di *** iss();}});dialog.show();
以上就是在Android開發自定義dialog樣式的方法和步驟,android很多的控制元件都提供了介面或者方法進行樣式的定義和修改。
如何自定義android Button樣式
返回部落格列表
轉 android自定義button樣式
sumpower
釋出時間: 2014/02/25 19:56
閱讀: 4162

收藏: 0

點贊: 0

評論: 0
摘要
android自定義button樣式
在Android開發應用中,預設的Button是由系統渲染和管理大小的。而我們看到的成功的移動應用,都是有著酷炫的外觀和使用體驗的。因此,我們在開發產品的時候,需要對預設按鈕進行美化。在本篇里,筆者結合在應用開發中的經驗,探討一下自定義背景的按鈕、自定義形狀按鈕的實現方法。
首先看實現效果截圖:
自定義背景的按鈕目前有2種方式實現,向量和點陣圖。
1. 向量圖形繪制的方式
向量圖形繪制的方式實現簡單,適合對於按鈕形狀和圖案要求不高的場合。步驟如下:
(a) 使用xml定義一個圓角矩形,外圍輪廓線實線、內填充漸變色,xml程式碼如下。
view plain
bg_alibuybutton_default.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="地址">
<item>
<shape android:shape="rectangle">
<solid android:color="#FFEC7600" />
<corners
android:LeftRadius="5dip"
android:RightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip" />
</shape>
</item>
<item android:="1px" android:bottom="1px" android:left="1px" android:right="1px">
<shape>
<gradient
android:startColor="#FFEC7600" android:endColor="#FFFED69E"
android:type="linear" android:angle="90"
android:centerX="0.5" android:centerY="0.5" />
<corners
android:LeftRadius="5dip"
android:RightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip" />
</shape>
</item>
</layer-list>
同樣定義bg_alibuybutton_pressed.xml和bg_alibuybutton_selected.xml,內容相同,就是漸變顏色不同,用於按鈕按下後的背景變化效果。
(b) 定義按鈕按下後的效果變化描述檔案drawable/bg_alibuybutton.xml,程式碼如下。
view plain
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="地址">
<item android:state_pressed="true"
android:drawable="@drawable/bg_alibuybutton_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/bg_alibuybutton_selected" />
<item android:drawable="@drawable/bg_alibuybutton_default" />
</selector>
(c) 在你需要的介面定義檔案中,如layout/main.xml中定義一個Button控制元件。
view plain
<Button
android:layout_width="120dip"
android:layout_height="40dip"
android:text="向量背景按鈕" android:background="@drawable/bg_alibuybutton" />
這樣,自定義背景的按鈕就可以使用了,在實現onClick方法後就可以響應操作。

android自帶的樣式比較難看,如何能夠自定義按鈕的樣式,使其顯示的跟美工設計的效果一樣,現與大家分享下
在layout中新增2個按鈕,從下圖中可以看出在按鈕中呼叫了style和android:background屬性,這兩個屬性一個是自定義樣式,一個是給按鈕新增背景圖片
展開res目錄,可以看到在values目錄下有styles.xml檔案,該檔案用於自定義樣式,雙擊開啟
標注的是我自定義的樣式,name為BtnStyle,當按鈕呼叫自定義樣式的時候訪問這個name
在button中呼叫自定義樣式的方法,比較簡單
如何往按鈕中新增自定義圖片,使按鈕看起來更漂亮些,因不同手機解析度不同,那必然牽扯到圖片的拉伸,在android系統下有個很好的技術「九宮格「,可以對圖片進行處理,只對區域性進行拉伸,給工具目錄儲存在android\sdk\tools\draw9patch.bat,經過該工具處理的圖片以.9.png結尾,放到drawable資料夾中
在Button中通過android:background屬性載入圖片的方法,至此我們自定義的按鈕樣式也就完成了,當然這只是個引子,在具體的專案工程中實現的效果要比這個demo復雜很多,有好的設計思路歡迎交流。

Ⅸ android中Dialog和PopupWindow的區別

Android中的對話框有兩種:PopupWindow和AlertDialog。它們都可以實現彈窗功能,但是他們之間有一些差別,下面總結了一點。 (1)Popupwindow在顯示之前一定要設置寬高,Dialog無此限制。 (2)Popupwindow默認不會響應物理鍵盤的back,除非顯示設置了popup.setFocusable(true);而在點擊back的時候,Dialog會消失。 (3)Popupwindow不會給頁面其他的部分添加蒙層,而Dialog會。 (4)Popupwindow沒有標題,Dialog默認有標題,可以通過dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);取消標題 (5)二者顯示的時候都要設置Gravity。如果不設置,Dialog默認是Gravity.CENTER。 (6)二者都有默認的背景,都可以通過setBackgroundDrawable(new ColorDrawable(android.R.color.transparent));去掉。 其中最本質的差別就是:AlertDialog是非阻塞式對話框:AlertDialog彈出時,後台還可以做事情;而PopupWindow是阻塞式對話框:PopupWindow彈出時,程序會等待,在PopupWindow退出前,程序一直等待,只有當我們調用了dismiss方法的後,PopupWindow退出,程序才會向下執行。這兩種區別的表現是:AlertDialog彈出時,背景是黑色的,但是當我們點擊背景,AlertDialog會消失,證明程序不僅響應AlertDialog的操作,還響應其他操作,其他程序沒有被阻塞,這說明了AlertDialog是非阻塞式對話框;PopupWindow彈出時,背景沒有什麼變化,但是當我們點擊背景的時候,程序沒有響應,只允許我們操作PopupWindow,其他操作被阻塞。 我們在寫程序的過程中可以根據自己的需要選擇使用Popupwindow或者是Dialog。

Ⅹ android dialog標題文字變粗了怎麼解決

設置ProgressDialog 的layout 那麼應該也可以獲取他的View吧,果然Dialog 就有一個獲取View的方法:

復制代碼代碼如下:

public abstract View getDecorView ()
Added in API level 1
Retrieve the top-level window decor view (containing the standard window frame/decorations and the client's content inside of that), which can be added as a window to the window manager.

Note that calling this function for the first time "locks in" various window characteristics as described in

只要有了View 我就可以找到其中的TextView,並設置相應的字體大小,一下是我的實現代碼:

復制代碼代碼如下:

/**
* 顯示 進度對話框
* @param message 消息
* @param cancel 是否可取消
* @param textsize 字體大小
*/
protected final void showProgressDialog(String message,boolean cancel,int textsize)
{
// TODO Auto-generated method stub
mProgress = new ProgressDialog(this);
mProgress.setMessage(message);
mProgress.setCancelable(cancel);
mProgress.setOnCancelListener(null);
mProgress.show();

setDialogFontSize(mProgress,textsize);
}
private void setDialogFontSize(Dialog dialog,int size)
{
Window window = dialog.getWindow();
View view = window.getDecorView();
setViewFontSize(view,size);
}
private void setViewFontSize(View view,int size)
{
if(view instanceof ViewGroup)
{
ViewGroup parent = (ViewGroup)view;
int count = parent.getChildCount();
for (int i = 0; i < count; i++)
{
setViewFontSize(parent.getChildAt(i),size);
}
}
else if(view instanceof TextView){
TextView textview = (TextView)view;
textview.setTextSize(size);
}
}

熱點內容
asp連接遠程資料庫 發布:2025-05-20 10:50:20 瀏覽:388
一般電腦配置哪個好 發布:2025-05-20 10:40:58 瀏覽:602
我的世界擼樹伺服器 發布:2025-05-20 10:33:37 瀏覽:740
ftp搭建win7 發布:2025-05-20 10:06:06 瀏覽:82
訪問堅果 發布:2025-05-20 10:06:02 瀏覽:394
ftpxlight 發布:2025-05-20 10:05:22 瀏覽:111
java的實驗報告 發布:2025-05-20 10:02:06 瀏覽:528
豪華配置高電動轎車有哪些 發布:2025-05-20 10:01:59 瀏覽:487
哪些電腦配置低 發布:2025-05-20 09:34:16 瀏覽:955
地板網站源碼 發布:2025-05-20 09:27:23 瀏覽:346