2017-07-27 62 views

回答

3

MainActivity類別

Button openAlert; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    openAlert = (Button)findViewById(R.id.openAlert); 

    openAlert.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 


      AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this); 
      View alertView = getLayoutInflater().inflate(R.layout.custom_alert, null); 

      //Set the view 
      alert.setView(alertView); 
      //Show alert 
      final AlertDialog alertDialog = alert.show(); 
      //Can not close the alert by touching outside. 
      alertDialog.setCancelable(false); 
      alertDialog.setCanceledOnTouchOutside(false); 
      alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 

      ImageView closeButton = (ImageView) alertView.findViewById(R.id.closeButton); 

      closeButton.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        alertDialog.dismiss(); 
       } 
      }); 



     } 
    }); 



} 

MainActivity XML - >這是剛剛打開的警報

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.vzw.www.multviewalert.MainActivity"> 

    <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="OPEN ALERT" 
     android:id="@+id/openAlert"/> 

</RelativeLayout> 

您需要創建警報

自定義佈局按鈕

custom_alert.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="20dp"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/alertContainer" 
     android:background="@drawable/custom_alert_bg"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:id="@+id/rowOne"> 

      <ImageView 
       android:id="@+id/rowOneButtonOne" 
       android:background="#cdcdcd" 
       android:layout_margin="4dp" 
       android:layout_width="wrap_content" 
       android:layout_height="100dp" 
       android:layout_weight="0.33" 
       /> 

      <ImageView 
       android:id="@+id/rowOneButtonTwo" 
       android:background="#cdcdcd" 
       android:layout_margin="4dp" 
       android:layout_width="wrap_content" 
       android:layout_height="100dp" 
       android:layout_weight="0.33" 
       /> 

      <ImageView 
       android:id="@+id/rowOneButtonThree" 
       android:background="#cdcdcd" 
       android:layout_margin="4dp" 
       android:layout_width="wrap_content" 
       android:layout_height="100dp" 
       android:layout_weight="0.33" 
       /> 
     </LinearLayout> 



    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:id="@+id/rowTwo" 
     android:layout_below="@id/rowOne"> 

     <ImageView 
      android:id="@+id/rowTwoButtonOne" 
      android:background="#cdcdcd" 
      android:layout_margin="4dp" 
      android:layout_width="wrap_content" 
      android:layout_height="100dp" 
      android:layout_weight="0.33" 
      /> 

     <ImageView 
      android:id="@+id/rowTwoButtonTwo" 
      android:background="#cdcdcd" 
      android:layout_margin="4dp" 
      android:layout_width="wrap_content" 
      android:layout_height="100dp" 
      android:layout_weight="0.33" 
      /> 

     <ImageView 
      android:id="@+id/rowTwoButtonThree" 
      android:background="#cdcdcd" 
      android:layout_margin="4dp" 
      android:layout_width="wrap_content" 
      android:layout_height="100dp" 
      android:layout_weight="0.33" 
      /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:id="@+id/rowThree" 
     android:layout_below="@id/rowTwo"> 

     <ImageView 
      android:id="@+id/rowThreeButtonOne" 
      android:background="#cdcdcd" 
      android:layout_margin="4dp" 
      android:layout_width="wrap_content" 
      android:layout_height="100dp" 
      android:layout_weight="0.33" 
      /> 

     <ImageView 
      android:id="@+id/rowThreeButtonTwo" 
      android:background="#cdcdcd" 
      android:layout_margin="4dp" 
      android:layout_width="wrap_content" 
      android:layout_height="100dp" 
      android:layout_weight="0.33" 
      /> 

     <ImageView 
      android:id="@+id/rowThreeButtonThree" 
      android:background="#cdcdcd" 
      android:layout_margin="4dp" 
      android:layout_width="wrap_content" 
      android:layout_height="100dp" 
      android:layout_weight="0.33" 
      /> 
    </LinearLayout> 

</RelativeLayout> 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

</RelativeLayout> 

<ImageView 
    android:id="@+id/closeButton" 
    android:layout_width="50dp" 
    android:layout_height="50dp" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_weight="0.33" 
    android:background="#cdcdcd" /> 


</RelativeLayout> 

下面是警報背景繪製 custom_alert_bg.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid 
     android:color="#ffffff"/> 
    <corners 
     android:radius="5dp" /> 
    <padding 
     android:left="10dp" 
     android:top="10dp" 
     android:right="10dp" 
     android:bottom="10dp" /> 
</shape> 

這將產生以下

enter image description here

這是一個骨架....你必須用圖像填充它們,然後點擊每個聽衆。

另外,如果你想向下移動的頂部。您可以在custom_alert.xml添加

android:layout_marginTop="50dp" 

到alertContainer ID

+0

這是一個骨架....你有你的圖片和點擊聽衆每個 – DroiDev

+0

接受@Droidev答案填寫並感謝他很多,他/她已經做了所有的工作INFACT支付他/她爲:P –

+0

@AdeelTurk他。謝謝你! :) – DroiDev