بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

image view

مدیریت گفتگو
zahra-j 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام

من توو برنامم چندتا ایمیج ویو دارم که ارتفاع اون ها براساسه ارتفاع صفحه تغییر میکنه و میخوام عرض اونها براساس ارتفاع تغییر کنه(یعنی عرض برار ارتفاع باشه در هر گوشی ای)

ممنون میشم دوستان راهنمایی کنن که چطوری اینکارو انجام بدم؟ 

نظرات

Spirit 11 سال پیش
لطفاً عنوان طبق راهنمای سایت عنوان مناسبتری انتخاب کنید.

پاسخ‌ها 2

Hajhosseini 11 سال پیش

1: میتونید در کدتون این کار رو انجام بدید.
2: میتونید با سایز عکس این کار رو انجام بدید، چون عکس ها مربع هستند سایز imageView هم مربع میشود.
در روش اول اگر شما نیاز به یک قالب دارید که همه جا ازش استفاده کنید، یک کلاس CustomeImageView بسازید و سایز رو در اون تغییر بدید. اگر نه که میتونید دونه دونه سایز تعیین کنید.
روش دوم adjustViewBounds  رو در property های imageView حتما تیک بزنید.

نظرات

zahra-j 11 سال پیش
ممنون من showViewBounds رو پیدا نکردم!adjustViewBounds رو فقط پیدا کردم! میشه اولیشو که کد نویسیه بیشتر توضیح بدین و یک نمونه کد بذارین؟ من توو کد نمیخوام با سایز height کار داشته باشم ، میخوام سایزش رو فقط بگیرم وبرابر با سایز width قرارش بدم. ممنون میشم کدش رو بهم بگین
Hajhosseini 11 سال پیش

کاملا درسته، همون adjustViewBounds  هست. پاسخ رو اصلاح کردم. 
نمونه کد:

        final View view = null;
        view.post(new Runnable() {
            @Override
            public void run() {
                view.getLayoutParams().height = view.getWidth();
            }
        });

چرا از post استفاده کردم؟
پاسخ: چون زمانی که شما این کد رو اجرا میکنید ویوتون مقداردهی نشده، باید این کد رو در post قرار بدید، این کار ویو رو به یک استک اضافه میکنه نه اینکه در همون لحظه کد رو اجرا کنه، زمانی که ویو ساخته شد، این کد اجرا میشه و سایز ارتفاع ویو برابر با عرض اون میشه.

نظرات

zahra-j 11 سال پیش
ممنونم از کمکتون :) جواب گرفتم حل شد

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .