iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
0

-Dialog設計外觀-

對話框的外觀設計和按鈕很像,先在/res/drawable創建一個resource file,然後在對話框xml的layout中加入這一句 android:background="@drawable/dialog"

以下是我resource file的程式碼

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <padding
        android:left="30dp"
        android:top="5dp"
        android:right="30dp"
        android:bottom="5dp" />

    <corners android:radius="50dp" />

    <gradient
        android:type="linear"
        android:startColor="#336666	"
        android:centerColor="#D1E9E9"
        android:endColor="#336666"
        android:angle="45"/>
</shape>

其中shape有rectangle(矩形)、oval(橢圓)、line(線)、ring(環形)。
想特別介紹一下gradient,它是對話框背景的漸層,他可使用的語法有startColor(起始顏色)、centerColor(中間顏色)、endColor(結束顏色),centerX centerY用來指定位置坐標,範圍介於0.0f~1.0f,呈現類型有radial(放射式)、sweep(掃描式)、linear(線性)這三種,angle是它顏色漸變的角度,必須是45的倍數。

接著是設定Dialog你要在一個位於res/values/styles.xml的文件中新增這些code

    <style name="myDialog" parent="@android:style/Theme.Dialog">
        <!-- 背景透明 -->
        <item name="android:windowBackground">@drawable/dialog</item>
        <!-- 設定dialog視窗是否變暗 -->
        <item name="android:backgroundDimEnabled">true</item>
        <!-- dialog外背景亮度從 (0~1.0) -->
        <item name="android:backgroundDimAmount">0.5</item>

最後在java程式碼中加入這樣的程式碼就可以成功囉

  dialog = new Dialog(this,R.style.myDialog);
        dialog.setContentView(R.layout.dialog1);
        dialog.setCancelable(true);
        dialog.show();

這是成功的樣子


上一篇
Android-一般對話框(Dialog)
下一篇
Android Studio - Intent跳轉頁面
系列文
Android Studio入門教學&筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言