close
تبلیغات در اینترنت
وسط چین کردن محتوا گرید ویو در اندروید,کار با محتوای گرید ویو,وسط پین
صفحه اصلی پرشین استک

{ پرشین استک }

به دنیای برنامه نویسی خوش آمدید
|


پرشین استک تنها یک سایت نیست بلکه یک پروژه همگانی می باشد


تعداد مطالب :
142


تعداد توسعه دهندگان :
11


تاریخ امروز :
جمعه 29 تیر 1397

به کانال تلگرام ما بپیوندید


×

لیست سوالات من

افزودن

وسط چین (center-align) کردن آیتم ها در GrideView

من در حال ساخت یک بازی در اندروید استودیو هستم و یک مشکل با کامپوننت Grid View دارم . من نمی توانم آیتم های درون GrideView را مانند این تصویر ، وسط چین کنم . من چند روش مانند android:stretchMode یا android:layout_centerHorizontal را امتحان کردم ، اما جواب نداد .

این کد XML من است :

 

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@android:color/holo_orange_light"
android:layout_weight="8"
android:layout_gravity="center">

<GridView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10px"
android:id="@+id/gridAnswersChar"
android:numColumns="8"
android:gravity="center">
</GridView>
</RelativeLayout>

 

عکس قبل

عکس بعد

 

پاسخ 1 :

امیدوارم که نیاز حتمی شما نباشد که از GridView استفاده کنید زیرا من معتقدم که این کار غیر ممکن است . اگر شما می توانید به جای آن از RecyclerView استفاده کنید ، من برای شما راه حلی دارم . در این راه حل شما مجبورید از FlexboxLayoutManager استفاده کنید که بخشی از پروژه FlexboxLayout گوگل است . پروژه FlexboxLayout

کد کامل این راه حل را  می توانید از لینک زیر بیابید .

 

ابتدا FlexboxLayoutManager را در ()MainActivity.onCreate نصب کنید :

 

FlexboxLayoutManager manager = new FlexboxLayoutManager(this,FlexDirection.ROW);
manager.setJustifyContent(JustifyContent.CENTER);

RecyclerView recycler = (RecyclerView) findViewById(R.id.recycler);
recycler.setLayoutManager(manager);

 

زمانی که مدیر طرح (layout manager) را ایجاد می کنیم ، FlexDirection.ROW را قرار می دهیم تا بگوییم که می خواهیم برنامه ها را به صورت افقی در آوریم . (یعنی پر کردن یک ردیف و سپس رفتن به ردیف بعدی، به جای پر کردن یک ستون و سپس رفتن به ستون بعدی).

سپس ()setJustifyContent را با استفاده از JustifyContent.CENTER فراخوانی می کنیم .

رفتار GridView و توانایی آنرا تقلید می کنیم  تا تعدادی ستون داشته باشیم .

این کد در ()MyAdapter.onCreateViewHolder است :

 

ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) itemView.getLayoutParams();
layoutParams.width = (parent.getWidth() / 4) - layoutParams.leftMargin - layoutParams.rightMargin;
itemView.setLayoutParams(layoutParams);

 

در اینجا (parent.getWidth() / 4) بسیار کلیدی است که باعث می شود هر کدام از آیتم ها یک چهارم عرض در دسترس نمایش داده شود . اگر تعداد ستون های دیگری را می خواهید ، به سادگی 4 تا 8 تغییر دهید، و غیره . ما همچنین leftMargin و rightMargin را از عرض کم می کنیم زیرا view ها دارای حاشیه هستند .

 

تصاویر نتیجه :

تصویر اول

تصویر دوم

 

 

صفحه اصلی

54

16 / 06 / 1396

PERSIAN STACK


چرا گاهی اوقات API موقعیت مکانی سرویس گوگل پلی ، موقعیت مکانی اشتباهی را برمی گرداند ؟

ادامه مطلب

613

چگونه نرم افزار ضبط صدای اندرویدی بسازیم ؟

ادامه مطلب

549

چرا TextView کلمات را با حروف می شکند ؟

ادامه مطلب

497

دانلود تمامی API های اندروید

ادامه مطلب

433

قسمت شانزدهم - جدول ها در HTML

ادامه مطلب

419

چرا وبسایت تجارت الکترونیک Magento 2 در Webview اندروید کار نمی کند ؟

ادامه مطلب

363

دانلود پروژه نمایش جستجوی کتاب برای اندروید

ادامه مطلب

347

چگونه Google API برای سطح API 25 را پیدا کنیم ؟

ادامه مطلب

343

دانلود سورس کد بازی اندرویدی Klooni 1010! + فایل APK

ادامه مطلب

259

آیا راهی برای یافتن تغیرات ماه در نمای تقویم اندروید (calendar view) وجود دارد ؟

ادامه مطلب

243

در تکمیل خودکار اندروید ، دلیل dispatchProvideAutofillStructure() not laid out چیست ؟

ادامه مطلب

231

چرا زمانی که با استفاده از cordova در اندروید 7.0 ، اس ام اس ارسال می کنیم ، با اثتثنای (Exception) امنیتی مواج

ادامه مطلب

227

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

211

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

195

دانلود سورس کد اپلیکیشن هواشناسی برای اندروید + فایل APK

ادامه مطلب

179

چگونه ارور com.bumptech.glide.Registry$NoModelLoaderAvailableException: Failed to find any ModelLoaders را در اندروید رفع کنیم ؟

ادامه مطلب

171

دانلود اسکریپت جاوای PS-CH# - ایجاد ورودی متنی پیشرفته

ادامه مطلب

121

دانلود کتابخانه Retrofit برای اندروید + پروژه

ادامه مطلب

117

دانلود سورس کد تمامی نسخه های تلگرام + فایل های نصبی

ادامه مطلب

113

دانلود کتابخانه GSON برای اندروید + پروژه

ادامه مطلب

111

دانلود اسکریپت جاوای PS-CH# - ایجاد ورودی متنی پیشرفته

ادامه مطلب

یکشنبه 05 آذر 1396

قسمت هفدهم - لیست ها در HTML

ادامه مطلب

یکشنبه 21 آبان 1396

چگونه می توان با استفاده از CSS ، رنگ placeholder را تغییر داد ؟

ادامه مطلب

یکشنبه 21 آبان 1396

قسمت شانزدهم - جدول ها در HTML

ادامه مطلب

شنبه 20 آبان 1396

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

شنبه 20 آبان 1396

قسمت پانزدهم - عکس ها در HTML

ادامه مطلب

جمعه 19 آبان 1396

قسمت چهاردهم - لینک ها در HTML

ادامه مطلب

یکشنبه 14 آبان 1396

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

یکشنبه 14 آبان 1396

قسمت سیزدهم - CSS در HTML

ادامه مطلب

شنبه 13 آبان 1396

قسمت بیست و پنجم (قسمت آخر) - آموزش ساخت بازی حدس

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و چهارم - آموزش نحوه ی پردازش فایل ها در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و سوم - برنامه تکمیلی جاوا (6)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و دوم - معرفی آرایه ها در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و یکم - برنامه تکمیلی جاوا (5)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیستم - معرفی مفهوم وراثت در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت نوزدهم - برنامه تکمیلی جاوا (4)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت هجدهم - معرفی عبارات کنترلی در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت هفدهم - برنامه تکمیلی جاوا (2-3)

ادامه مطلب

چهارشنبه 10 آبان 1396

چگونه در برنامه نویسی اندروید ، یک ListView با متن و عکس بسازیم ؟

ادامه مطلب

سه شنبه 09 آبان 1396

چگونه در برنامه نویسی اندروید از فونت شخصی خود استفاده کنیم ؟

ادامه مطلب

سه شنبه 09 آبان 1396

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

چگونه در برنامه نویسی اندروید ، یک ListView با متن و عکس بسازیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید از فونت شخصی خود استفاده کنیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید می توان آیدی موبایل را بدست آورد ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید برنامه تماس بسازیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید یک منو ساده بسازیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید از برنامه اسکرین شات بگیریم ؟

ادامه مطلب

چگونه می توان در اندروید RTL یا LTR صفحه را ثابت کرد ؟

ادامه مطلب

چگونه می توان در اندروید حالت افقی (landscape) را غیر فعال کرد ؟

ادامه مطلب

آموزش استفاده از دیتابیس آماده در پروژه اندرویدی

ادامه مطلب

دانلود سورس کد تمامی نسخه های تلگرام + فایل های نصبی

ادامه مطلب

دانلود کتابخانه GSON برای اندروید + پروژه

ادامه مطلب

دانلود سورس کد اپلیکیشن آموزش زبان انگلیسی + فایل APK

ادامه مطلب

چگونه نگذاریم در آغاز اکتیویتی ، EditText فوکوس را بدست آورد ؟

ادامه مطلب

چگونه کیبورد پیش فرض اندروید (Soft Keyboard) را پنهان کرده یا ببندیم ؟

ادامه مطلب

چرا سرعت مجازی ساز اندروید کم است و چگونه می توان سرعت آنرا افزایش داد ؟

ادامه مطلب

تفاوت بین واحد های اندازه گیری "px" , "dp" , "dip" و "sp" چیست ؟

ادامه مطلب

دانلود سورس کد اپلیکیشن آهنگ سازی برای اندروید + فایل APK

ادامه مطلب

دانلود سورس کد اپلیکیشن هواشناسی برای اندروید + فایل APK

ادامه مطلب

× برای نظر گذاشتن یا پاسخ دادن به سوالات باید در سایت عضو باشید !

برای حمایت از ما روی بنر های زیر کلیک کنید .

برای سفارش تبلیغات به ما ایمیل بزنید .

ارتباط با ما