android自定義對話框?qū)嵗a
1.實現(xiàn)效果
??
2.定義dialog.xml (res/layout/dialog.xml)
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <RelativeLayout android:layout_width="250sp" android:layout_height="270sp" android:layout_centerInParent="true"> <TextView android:id="@+id/dialog_title" android:layout_width="wrap_content" android:layout_height="35sp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="15sp" android:textColor="#333333" android:textSize="17sp" /> <TextView android:id="@+id/dialog_message" android:layout_width="wrap_content" android:layout_height="160sp" android:layout_centerInParent="true" android:layout_marginTop="65sp" android:textColor="#333333" android:textSize="17sp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginTop="30sp" android:layout_marginBottom="20sp" android:orientation="horizontal"> <LinearLayout android:id="@+id/dialog_confirm" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/confirm_button_style" android:gravity="center" android:text="確定" android:textColor="@color/white" android:textSize="18sp" /> </LinearLayout> <LinearLayout android:id="@+id/dialog_cancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="22sp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/cancel_button_style" android:gravity="center" android:text="取消" android:textColor="@color/teal_200" android:textSize="18sp" /> </LinearLayout> </LinearLayout> </RelativeLayout> </RelativeLayout>
3. 設(shè)置確定、取消按鈕的background
上文的dialog.xml中,確定和取消按鈕都是TextView,所以需要自定義按鈕的背景
confirm_button_style.xml? (所有的color需要自定義)
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="1000sp"/> <solid android:color="@color/teal_200"/> <stroke android:width="0.5sp" android:color="@color/colorAccent"/> <size android:width="105sp" android:height="40sp"/> </shape>
cancel_button_style.xml?
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="1000sp"/> <solid android:color="@color/white"/> <stroke android:width="0.5sp" android:color="@color/teal_200"/> <size android:width="105sp" android:height="40sp"/> </shape>
4. 自定義dialog的使用
final AlertDialog dialog = new AlertDialog.Builder(xxxClass.this).create(); dialog.setCancelable(false); //點擊對話框以外的位置,不消失 dialog.show(); Window window = dialog.getWindow(); window.setContentView(R.layout.dialog); //標題 TextView title = window.findViewById(R.id.dialog_title); title.setText("dialog_title"); //內(nèi)容 TextView message = window.findViewById(R.id.dialog_message); message.setText("dialog_message "); //確定按鈕 LinearLayout confirm = window.findViewById(R.id.dialog_confirm); confirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //xxx } }); //取消按鈕 LinearLayout cancel = window.findViewById(R.id.dialog_cancel); cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //xxx } });
到此這篇關(guān)于android自定義對話框?qū)嵗a的文章就介紹到這了,更多相關(guān)android對話框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA打包jar-解決找不到或無法加載主類 main的問題
這篇文章主要介紹了IDEA打包jar-解決找不到或無法加載主類 main的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08Android基于Sqlite實現(xiàn)注冊和登錄功能
這篇文章主要為大家詳細介紹了Android基于Sqlite實現(xiàn)注冊和登錄功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04Android?EventBus粘性事件實現(xiàn)機制探究
最近項目做組件化,需要進行組件化的通信,有時候可能會出現(xiàn)異步的情況,事件接收方還沒準備好事件就已經(jīng)發(fā)送過來了,這時候想到了EventBus的粘性事件,這篇文章主要給大家介紹了關(guān)于Android?EventBus粘性事件實現(xiàn)機制的相關(guān)資料,需要的朋友可以參考下2022-05-05Android編程使用ListView實現(xiàn)數(shù)據(jù)列表顯示的方法
這篇文章主要介紹了Android編程使用ListView實現(xiàn)數(shù)據(jù)列表顯示的方法,實例分析了Android中ListView控件的使用技巧,需要的朋友可以參考下2016-01-01android創(chuàng)建和刪除文件夾和文件的實現(xiàn)方法
下面小編就為大家?guī)硪黄猘ndroid創(chuàng)建和刪除文件夾和文件的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03