PDA

View Full Version : مشکل با gravity چک باکس .



harani
یک شنبه 05 آذر 1391, 10:52 صبح
سلام دوستان من اگه gravity یک چک باکسو به راست تنظیم کنم . نوشته اون سمت راست مربع چک باکس قرار میگیره آیا راهی هست که در این حالت نوشته سمت چپ چک باکس قرار بگیره ؟؟

harani
یک شنبه 05 آذر 1391, 17:40 عصر
کسی ایده ای نداره دوستان ؟؟؟

Modernidea
یک شنبه 05 آذر 1391, 22:00 عصر
سلام

دوتا راه را من پیشنهاد میدم:

1- از یک CheckBox بدون متن استفاده کنید و برای متنش از یک TextView استفاده کنید. با این کار متن رو میتونید به راحتی در هر طرف از CheckBox قرار بدید.
(این راه سادتر و آسان تر است)

2- از CheckedTextView استفاده کنید. متن این کامپوننت در سمت چپ آن قرار میگیره اما کاملا به سمت چپ Layout ی که این کامپوننت قرار داره میچسبه.
این کاپوننت بیشتر در ListView استفاده میشه اما میتونید بدون اون هم استفاده کنید.

تعریف CheckedTextView در Layout برنامه:

<CheckedTextView
android:id="@+id/cv_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Some text here"
android:textSize="18sp"
android:gravity="center_vertical"
android:clickable="true"
android:checkMark="@drawable/btn_check_off"
android:focusable="true"
android:checked="false"
android:onClick="toggle"/>


تعیین وضعیت CheckedTextView با کلیک بر روی آن(کد مورد نظر در Activity برنامه):

CheckedTextView chkBox = (CheckedTextView) findViewById(R.id.cv_id);
chkBox.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
((CheckedTextView) v).toggle();
if (v.isSelected())
{
v.setSelected(false);
((CheckedTextView) v).setCheckMarkDrawable (R.drawable.btn_check_off);
}
else
{
v.setSelected(true);
((CheckedTextView) v).setCheckMarkDrawable (R.drawable.btn_check_on);
}
}
});


در نظر داشته باشید که باید دو تصویر btn_check_off و btn_check_on در پوشه Drawable قرار بدید.
این دو تصویر را میتوانید از پوشه android-sdk\platforms\android-4\data\res\drawable کپی کنید یا از ضمیمه دانلود کنید.