برنامه نویسی اندروید

اموزش برنامه نویسی اندروید تخصصی

برنامه نویسی اندروید

اموزش برنامه نویسی اندروید تخصصی

1

2

3

4

5

6

7

8

9

.setSingleChoiceItems(items, 2, new DialogInterface.OnClickListener() {

    @Override

    public void onClick(DialogInterface dialogInterface, int i) {

 

        result = items[i];

        Toast.makeText(MainActivity.this, result + " selected", Toast.LENGTH_SHORT).show();

 

    }

})

در کد بالا با انتخاب هر آیتم توسط کاربر، نام آن آیتم در یک Toast چاپ می شود:

تعیین Listener برای آیتم های لیست

استایل دهی به اجزای AlertDialog نیز امکان‌پذیر است.
یک استایل جدید با نام دلخواه DialogTheme به styles.xml اضافه کردم که از Theme.AppCompat.Light.Dialog.Alert ارث بری شده:

1

2

3

4

5

<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">

    <item name="colorAccent">#41bf13</item>

    <item name="android:textColorPrimary">#ac2a2a</item>

    <item name="android:background">#c7cc5f</item>

</style>

برای اتصال استایل به دیالوگ می‌بایست آنرا به عنوان پارامتر ورودی دوم AlertDialog.Builder تعریف کنیم:

1

new AlertDialog.Builder(this, R.style.DialogTheme)

تعریف Style برای AlertDialog

ممکن است بخواهید برای پنجره دیالوگ یک نوار حاشیه (border) یا انحنا در چهار گوشه (radius) تعریف کنید. برای اینکار ابتدا یک Resource file درون دایرکتوری drawable ایجاد می کنم:

فایل dialog_background.xml:

1

2

3

4

5

6

7

8

9

10

11

12

13

<?xml version="1.0" encoding="utf-8"?>

<inset xmlns:android="http://schemas.android.com/apk/res/android"

    android:insetLeft="16dp"

    android:insetTop="16dp"

    android:insetRight="16dp"

    android:insetBottom="16dp">

 

    <shape android:shape="rectangle">

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

        <solid android:color="#97e76a" />

        <stroke android:width="5dp" android:color="#303759" />

    </shape>

</inset>

لینک توضیحات مربوط به InsetDrawable در انتهای مبحث قید شده. با اینحال نام آیتم ها و خواص بکار رفته در کد بالا گویای کاربرد آنهاست. insetLeft و سه مورد دیگر جهت تعیین فاصله پنجره دیالوگ از حاشیه صفحه نمایش هستند. سپس یک تگ shape داریم که درون آن به ترتیب مقدار انحنای گوشه ها، رنگ پس زمینه و ضخامت نوار حاشیه و رنگ آن تعریف شده اند.
حالا در استایل DialogTheme خط زیر را جایگزین خاصیت background می‌کنم:

1

<item name="android:windowBackground">@drawable/dialog_background</item>

  • vahid hasani

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی