1. 程式人生 > >完全自定義dialog佈局的實現

完全自定義dialog佈局的實現

因為專案需要美工做出了dialog 的樣式文字大小以及顏色。我試過一種是載入inflate的那個介面但是那個alertdialog不能自定義按鈕和文字。而我需要把按鈕和文字的樣式以及大小自定義,而修改系統theme下的樣式很麻煩,還有一些修改彈出框大小的屬性不起作用,所以我就自定義一個alertdialog樣式。
下面直接上程式碼
這個是主函式:

protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
        Button button = (Button)findViewById(R.id.btnread);
      button.setOnClickListener(new
OnClickListener() { @Override public void onClick(View v) { DialogInterface.OnClickListener listener; listener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int
which) { // TODO Auto-generated method stubf finish(); } }; final CharSequence msg = "資料"; final AlertDialog builder = new AlertDialog.Builder(MainActivity.this) .create(); builder.show(); builder.getWindow().setContentView(R.layout.dialog);//設定彈出框載入的佈局
TextView tv_title = (TextView) builder.findViewById(R.id.tv_dialog_title); tv_title.setText(msg); builder.getWindow() .findViewById(R.id.button1) .setOnClickListener(new View.OnClickListener() { //按鈕點選事件 @Override public void onClick(View v) { builder.dismiss(); } }); } }); }

他載入了一個介面佈局,而這個佈局是我自己定義的。你可以按照自己的需求在此xml中加入自己想加入的控制元件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:background="#ffffff"  
    android:orientation="vertical" >  

    <TextView  
        android:id="@+id/tv_dialog_title"  
        android:layout_width="match_parent"  
        android:layout_height="90dp" 
        android:gravity="center" 
        android:textColor="#2F2F2F"  
        android:textSize="24sp"  
         />
         //劃一條分割線
        <View  
         android:layout_width="match_parent"  
         android:layout_height="1dp" 
         android:background="#d3d3d3"  />
    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="66dp"
        android:background="#ffffff"
        android:textColor="#2f2f2f"
        android:textSize="30sp"
        android:text="確定" />
</LinearLayout>  

相關推薦

完全定義dialog佈局實現

因為專案需要美工做出了dialog 的樣式文字大小以及顏色。我試過一種是載入inflate的那個介面但是那個alertdialog不能自定義按鈕和文字。而我需要把按鈕和文字的樣式以及大小自定義,而修改系統theme下的樣式很麻煩,還有一些修改彈出框大小的屬性不起

android 定義dialog實現方法

listener params .get animator miss nim style wrap 參數 最近一直在做 java 相關的東西, 雖然一直在看 Android 但感覺有點留於理論,總這樣畢竟不行,寫的多不一定懂得多,但要想懂得多就一定要寫的多,於是今天動手寫了

android 定義dialog實現定義大小、去除黑色邊框等)

搜尋相關關鍵字網上一大堆實現,但是看完總覺得缺胳膊少腿,繞了不少彎路,終於弄好了自定義dialog。把自己整合的完整程式碼發上來。 要點: 1、設定自定義dialog的佈局檔案my_dialog.xml 2、設定一份自定義的樣式檔案styles_wx.xml,該檔案用於覆

iOS定義UICollectionViewLayout佈局實現瀑布流

自定義 UICollectionViewLayout 佈局,實現瀑布流;UICollectionView和UICollectionViewCell 另行建立,這只是佈局檔案, 外界控制器只要遵守協議併成為他的代理並實現代理方法heightForItemAtIndex:返回每個cell的高

(Android新手上路)actionbar完全定義標題佈局,告別繁瑣的actionbar設定,看別人的然後自己琢磨出來的

protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main_activity_one);setCustomActionBar();}pri

android 定義dialog實現失去焦點(背景透明)的功能

前言:由於在專案中需要用到更新顯示動畫的需求,所以想到了dialog,自定義dialog不難,網上教程很多,但是在實現dialog背景透明的需求時,遇到了一點問題,網上的一些方法在我的機器上並沒有實現,只能曲折中找到了另一個方法實現。雖然有點麻煩,但畢竟效果不錯。 此方法寫

Android 定義 Dialog 佈局設定高度 wrap_content 無效

以前的一個 Dialog 的自定義佈局的根佈局的寬度是寫死的,高度是 wrap_content 的。後來加了幾行內容後,發現內容總是顯示不全,高度沒有自適應,似乎變成了一個固定高度。根佈局是一個垂直的 LinearLayout,之前的內容比較少,所以沒發現問題。這期在底部添加

安卓定義Dialog實現

一、Dialog佈局檔案 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/andr

Android定義dialog實現失去焦點,activity獲取焦點的功能

前言:由於在專案中需要用到更新顯示動畫的需求,所以想到了dialog,自定義dialog不難,網上教程很多,但是在實現dialog背景透明的需求時,遇到了一點問題,網上的一些方法在我的機器上並沒有實現,只能曲折中找到了另一個方法實現。雖然有點麻煩,但畢竟效果不錯。 此方

vue+elementui定義Dialog元件之登入彈框話框實現(實現不同vue元件關聯)

elementui提供一個可實現彈框的元件el-dialog,一般會將彈框寫在一個vue檔案,通過el-dialog套用類似於這種 <el-button round @click="dialogFormVisible = true">登入</el-butt

Android實現定義dialog

Android自定Dialog 先上效果圖: 1.先在drawable下新建一個drawble resource file,這個檔案用於dialog的圓角背景 <?xml version="1.0" encoding="utf-8"?>

定義控制元件實現階梯佈局

public class JieTiViewGroup extends ViewGroup { public JieTiViewGroup(Context context) { this(context,null); } public JieTiVi

Android 完全定義對話方塊的實現(標題欄+EditText+雙按鈕)

糾結了我一下午,為了能使用我比較鐘意的自定義對話方塊,我可謂絞盡腦汁,這裡寫下來 以表忠心。 這是我開始從網上看到的別人寫的自定義框。博文地址在這:點選 我的目的不僅僅是提示框,我想將其改成可以在中間輸入資料,然後按下確定我還可以獲取其中的資料來用的對話方塊。 然後

簡單實現定義Dialog彈窗

前言 這幾天都在學習Web端的技術點,對於Android這麼好玩的技術,那麼也不能丟落。時間擠一擠,說不定還能擠出一條溝,呵呵..這幾天看到小夥伴們在專案中在為dialog相關的問題不知所措,看了大概的需求,都涉及到自定義dialog,其實也蠻簡單的,在

Android中定義drawable資源實現佈局的圓角邊框效果

佈局的圓角邊框效果圖如下所示: 如上圖紅色標註的部分就是一個圓角邊框效果的自定義搜尋框。 實現起來很簡單,讓佈局(Relativelayout或者LinearLayout)的background屬性引用自定義的drawable資源即可。 andro

定義Dialog的簡單實現

轉載請標註轉載http://blog.csdn.net/oqihaogongyuan/article/details/50958659 自定義Dialog的詳細步驟(實現自定義樣式一般原理)        現在很多App的提示對話方塊都非常有個性,然而你還用系統的對話方塊樣式,是不是覺得很落後呢,今天

Android 定義Dialog類,並在Activity中實現按鈕監聽。

實際開發中,經常會用到Dialog,比如退出時候會彈出是否退出,或者還有一些編輯框也會用Dialog實現,效果圖如下: 開發中遇到的問題無非在於如果在Activity中監聽這個Dialog中實現的按鈕,Dialog類如下,在MyDialog這個類中實現了一個LeaveMyDialogLi

基於高德地圖實現完全定義Marker

  做地圖社交類APP開發的都知道,一般情況下,為了整體的美觀和使用者體驗度,我們需要定製化Marker的樣式。本文中實現的方式都是基於高德地圖的,百度地圖也類似,大家可以照葫蘆畫瓢,廢話不多說,先來看看最終效果: 實現思路: 先來看看高德官方提供的設

實現友盟推送訊息的完全定義處理

1,下面的前提是必須申請了友盟且有app key 3,若開發者需要實現對訊息的完全自定義處理,則可以繼承 UmengBaseIntentService, 實現自己的Service來完全控制達到訊息的處理。     1,實現一個類,繼承 UmengBaseIntentSe

定義MediaController來實現修改底部佈局作以及實現vedioview半屏與全屏的切換

因為直接使用系統vedioview,底部的MediaController佈局有點不好看,尤其是進度條,不能實現辦半屏與全屏的切換,自己網上看了下別人的資料,整理了下,做以筆記;初學者,勉強才實現這些功能,還有許多地方不明白。 看下效果: