Android簡單例子——IpHone樣式AlertDialog,iphonealertdialog

來源:互聯網
上載者:User

Android簡單例子——IpHone樣式AlertDialog,iphonealertdialog

此例子源於網路,下載下來之後,自己加了寫注釋,作為總結,發到部落格中,謝謝原作者

通過這個例子學到的東西

1.自訂對話方塊的使用

2.程式中使用顏色如何進行存放,增加複用性

3.加深線性布局、常用控制項的使用

1.實現效果

2.顏色值檔案

<?xml version="1.0" encoding="utf-8"?><resources>    <drawable name="white">#FFFFFF</drawable>     <color name="White">#FFFFFF</color>    <color name="Black">#000000</color>    <color name="grey">#D7D4D4</color>    <color name="red">#FF0000</color> </resources>

3.第一個介面布局檔案

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_gravity="center_horizontal|center_vertical"    android:orientation="vertical">        <LinearLayout        android:orientation="vertical"        android:background="@drawable/alert"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center_horizontal"        android:layout_marginLeft="20dip"        android:layout_marginRight="20dip">                <TextView android:id="@+id/dialog_title"             android:layout_width="wrap_content"              android:layout_height="wrap_content"             android:layout_marginTop="15dip"             android:textColor="#ffffff"             android:textStyle="bold"             android:textSize="17sp"              android:text="About to call 323"/>                <TextView android:id="@+id/dialog_message"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:layout_margin="10dip"             android:gravity="center_horizontal"             android:textSize="15sp"             android:textColor="#ffffff"             android:text="Are you sure you want to proceed?" />         <Button             android:id="@+id/ok"             android:layout_width="fill_parent"             android:layout_height="40dip"             android:layout_marginBottom="10dip"             android:layout_marginLeft="10dip"             android:layout_marginRight="10dip"             android:background="@drawable/custom_button"             android:textColor="@color/White"             android:textSize="17sp"             android:textStyle="bold"              android:text="OK"/>    </LinearLayout></LinearLayout>

4.第二個介面的布局檔案

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_gravity="center_horizontal|center_vertical"    android:orientation="vertical">        <LinearLayout        android:orientation="vertical"        android:background="@drawable/alert"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center_horizontal"        android:layout_marginLeft="20dip"        android:layout_marginRight="20dip">                <TextView android:id="@+id/dialog_title_2"             android:layout_width="wrap_content"              android:layout_height="wrap_content"             android:layout_marginTop="15dip"             android:textColor="#ffffff"             android:textStyle="bold"             android:textSize="17sp"              android:text="About to call 323"/>                <TextView android:id="@+id/dialog_message_2"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:layout_margin="10dip"             android:gravity="center_horizontal"             android:textSize="15sp"             android:textColor="#ffffff"             android:text="Are you sure you want to proceed?" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_marginBottom="10dip"            android:layout_marginTop="10dip"            android:gravity="center_horizontal"            android:orientation="horizontal" >            <Button                android:id="@+id/cancel_2"                android:layout_width="0dip"                android:layout_height="40dip"                android:layout_gravity="left"                android:layout_marginLeft="10dip"                android:layout_weight="1"                android:background="@drawable/custom_button"                android:text="取消"                android:textColor="@color/White"                android:textStyle="bold" />            <Button                android:id="@+id/ok_2"                android:layout_width="0dip"                android:layout_height="40dip"                android:layout_marginBottom="10dip"                android:layout_marginRight="10dip"                android:layout_weight="1"                android:background="@drawable/custom_button"                android:text="確定"                android:textColor="@color/White"                android:textStyle="bold" />        </LinearLayout>    </LinearLayout></LinearLayout>

5.核心代碼檔案

public class MainActivity extends Activity {    private Button btn;    private Button btn2;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                btn = (Button) findViewById(R.id.btn1);                /**增加監聽事件**/        btn.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View view) {                // TODO Auto-generated method stub                showCustomMessageOK("提示資訊","不能進行此項操作");            }        });                btn2 = (Button) findViewById(R.id.btn2);        btn2.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View view) {                // TODO Auto-generated method stub                showCustomMessageOKAndCancle("溫馨提示","是否確認退出");            }        });    }        /**     * 實現一個帶有確定和取消按鈕的對話方塊     * @param title     * @param message     */    protected void showCustomMessageOKAndCancle(String title, String message) {        // TODO Auto-generated method stub                /**         * 建立一個Dialog對象,Dialog有兩個構造法方法         * 1.         *          *          **/        final Dialog dialog = new Dialog(MainActivity.this, android.R.style.Theme_Translucent_NoTitleBar);                /**為Dialog載入布局檔案**/        dialog.setContentView(R.layout.ok_cancle_dialog_view);        /**為設定相應的屬性值**/        ((TextView)dialog.findViewById(R.id.dialog_title_2)).setText(title);        ((TextView)dialog.findViewById(R.id.dialog_message_2)).setText(message);        ((Button) dialog.findViewById(R.id.cancel_2)).setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View view) {                // TODO Auto-generated method stub                dialog.dismiss();            }        });                ((Button) dialog.findViewById(R.id.ok_2)).setOnClickListener(new OnClickListener() {                                @Override                public void onClick(View view) {                    // TODO Auto-generated method stub                    MainActivity.this.finish();                    System.exit(0);                }        });        dialog.show();    }    /**     * 建立一個只有確定按鈕的對話方塊     * @param title     * @param message     */    private void showCustomMessageOK(String title, String message) {        // TODO Auto-generated method stub        final Dialog dialog = new Dialog(MainActivity.this, android.R.style.Theme_Translucent_NoTitleBar);        dialog.setContentView(R.layout.ok_dialog_view);        ((TextView) dialog.findViewById(R.id.dialog_title)).setText(title);        ((TextView) dialog.findViewById(R.id.dialog_message)).setText(message);        ((Button) dialog.findViewById(R.id.ok)).setText("OK");        ((Button) dialog.findViewById(R.id.ok)).setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View view) {                // TODO Auto-generated method stub                dialog.dismiss();            }        });                dialog.show();    }}

代碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.