آموزش ساخت RadioButton با کد در اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش ساخت RadioButton با کد در اندروید می پردازیم از این آموزش اندروید می توانید به منظور ساخت یک RadioButtin پویا یا Dynamic استفاده می شود در ادامه با ما همراه باشید تا نحوه ساخت یک RadioButton همراه با کد را یاد گیرید
ابتدا وارد مسیر res/values شده و فایل strings.xml را همانند زیر ویرایش کنید.
1 2 3 4 5 6 | <resources> <string name="app_name">DynamicRadioButton</string> <string name="male">Male</string> <string name="female">Female</string> <string name="you_selected">You selected:</string> </resources> |
در بالا یکسری رشته تعریف کردیم که در برنامه مورد استفاده قرار می گیرد.
در layout اصلی یعنی activity_main.xml کدهای زیر را قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/rootContainer" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> <RadioGroup android:id="@+id/radioGroup" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingStart="20dp"> </RadioGroup> </LinearLayout> |
در بالا یک RadioGrup تعریف شده تا RadioButton ها به صورت Dynamic به آن اضافه شوند.
در اکتیویتی اصلی برنامه MainActivity.java کدهای زیر را قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | package ir.programchi.dynamicradiobutton; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LinearLayout linearLayout = findViewById(R.id.rootContainer); RadioButton radioButton1 = new RadioButton(this); radioButton1.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); radioButton1.setText(R.string.male); radioButton1.setId(0); RadioButton radioButton2 = new RadioButton(this); radioButton2.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); radioButton2.setText(R.string.female); radioButton2.setId(1); RadioGroup radioGroup = findViewById(R.id.radioGroup); if (radioGroup != null) { radioGroup.addView(radioButton1); radioGroup.addView(radioButton2); radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { String text = getString(R.string.you_selected); text += " " + getString((checkedId == 0) ? R.string.male : R.string.female); Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show(); } }); } } } |
ابتدا ما دو شئی از RadioButton ایجاد کردیم و یگسری ویژگی به آنها دادیم مثلا با استفاده از setLayoutParams اندازه آنها را تعیین کردیم و با استفاده از setText یک رشته برای آنها تعین کردیم.
بعد از اینکار RadioGroup را find کرده و view های ساخته شده را به آن اضافه کردیم از متد addView برای این منظور استفاده شده است.
و برای اینکه متوجه شویم کدام یک از RadioButton ها انتخاب شده است یک Listener به نام setOnCheckedChangeListener برای RadioGroup تعریف کردیم.
این آموزش هم به پایان رسید.
موفق باشید.