میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

افزودن radio group و radio button به قالب/layout

برای افزودن radio group و radio button به قالب/layout باید فایل layout را باز نمایید و سپس یک radio group با دو radio button به قالب برنامه ی خوداضافه نمایید.
شناسه ی المان ها را بر اساس جدول زیر مقداردهی کنید.

جدول تخصیص ID به المان ها
ViewID
Radio Grouporientation
horizontal First radio buttonhorizontal
Second radio buttonvertical

 

در حال حاضر کد موجود در فایل XML می بایست به صورت زیر باشد. با کمی دقت متوجه می شود که تنها تگ RadioGroup در این layout جدید می باشد.

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/main_input"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start"
android:id="@+id/button"
android:layout_below="@id/main_input"
android:layout_alignParentStart="true"
android:onClick="onClick"/>
<RadioGroup
android:id="@+id/orientation"
android:layout_below="@id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
<RadioButton
android:id="@+id/horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Horizontal" >
</RadioButton>
<RadioButton
android:id="@+id/vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="Vertical" >
</RadioButton>
</RadioGroup>
</RelativeLayout>

کد فوق خروجی زیر را در UI به نمایش می گذارد:

 

RelativeLayout

 


ویرایش orientation / وضعیت چیدمان radio group در زمان اجرا  (به صورت dynamic )

تابع () onCreate را در کلاس activity ویرایش نمایید. سپس با فراخوانی متد ()findViewById کلاس RadioGroup را در فایل ( layout فایل xml که ظاهر برنامه را تعریف می کند) پیدا کنید. یک Linstener داخل radio group پیاده سازی نمایید که به تغییرات گوش فرا داده و وضعیت چیدمان یا orientation دکمه را بر اساس انتخاب جاری کاربر تغییر دهد. اینکه کدام دکمه انتخاب شده را می توان توسط پارامتر ID تشخیص داد.

RadioGroup را در قالب متغیر در کلاس activity خود اعلان نمایید. سپس RadioGroup.OnCheckedChangeListener را به واسطه ی متد setOnCheckedChangeListener() از پکیج android.widget.RadioGroup  اضافه نمایید. این  متد ()listener متنظر انتخاب کاربر می ماند و به محض رخداد اتفاق مورد نظر (تغییر انتخاب کاربر) از آن مطلع شده و متعاقبا دستورات پیاده سازی شده در onCheckedChanged را اجرا می کند.

می توانید از قالب آماده ی زیر به عنوان الگو جهت پیاده سازی listener استفاده نمایید.

 

 

final RadioGroup group1 = (RadioGroup) findViewById(R.id.orientation);
group1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.horizontal:
group.setOrientation(LinearLayout.HORIZONTAL);
break;
case R.id.vertical:
group.setOrientation(LinearLayout.VERTICAL);
break;
}
}
});

تست اپلیکیشن

برنامه ی خود را اجرا نموده و انتخاب خود را تغییر دهید. بایستی بر اساس گزینه ی مورد انتخاب orientation دکمه ها تغییر کند

 


امیدواریم آموزش افزودن radio group و radio button به قالب/layout نیز برای شما مفید واقع شده باشد و ادامه آموزش برنامه نویسی اندروید رو دنبال کنید . برای مطالعه پست‌ها بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

 

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟