1. 程式人生 > >使Android應用的AlertDialog對話方塊中的按鈕顯示為ImageButton圖示,並設定相應

使Android應用的AlertDialog對話方塊中的按鈕顯示為ImageButton圖示,並設定相應

最終示意圖如下所示:


首先需要新建一個layout檔案:new_layout.xml: 這裡定義有三個按鈕

<?xml version="1.0" encoding="UTF-8" ?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_margin="15dp"
    android:gravity="center_horizontal"
    android:background = "#FFFFFF"
    android:orientation="horizontal">
    
    <!-- game button -->
    <ImageButton 
        android:id="@+id/game"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_margin="5dp"
        android:layout_gravity="bottom"
        android:background = "#00ffffff"
        android:src="@drawable/game"/>
    
    <!-- browser button -->
    <ImageButton 
        android:id="@+id/browser"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_margin="5dp"
        android:layout_gravity="bottom"
        android:background = "#00ffffff"
        android:src="@drawable/browser"/>

   <!-- email button -->
    <ImageButton 
        android:id="@+id/email"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_margin="5dp"
        android:layout_gravity="bottom"
        android:background = "#00ffffff"
        android:src="@drawable/email"/>
    
</LinearLayout>
其次在你需要呼叫彈出框的地方新增如下程式碼:
final AlertDialog alertDialog = new AlertDialog.Builder(TalkerActivity.this).create();
	        alertDialog.show();
	        Window win = alertDialog.getWindow();
	        //設定自定義的對話方塊佈局
	        win.setContentView(R.layout.new_layout);
	        
	        //遊戲按鈕事件
	        ImageButton game_btn = (ImageButton)win.findViewById(R.id.game);
	        game_btn.setOnClickListener(new OnClickListener(){
	            @Override
	            public void onClick(View v) {
	                // TODO Auto-generated method stub
	                
	            }
	        });
	        
	        //瀏覽器程式
	        ImageButton browser_btn = (ImageButton)win.findViewById(R.id.browser);
	        browser_btn.setOnClickListener(new OnClickListener(){
	            @Override
	            public void onClick(View v) {
	                // TODO Auto-generated method stub

	            }
	        });
	        
	        //電子郵件程式
	        ImageButton email_btn = (ImageButton)win.findViewById(R.id.email);
	        email_btn.setOnClickListener(new OnClickListener(){
	            @Override
	            public void onClick(View v) {
	                // TODO Auto-generated method stub
	            	
	            }
	        });
	    
參考連結:http://5e76.net/show-4373.html