آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

image view

zahra-j  11 سال پیش  11 سال پیش
+1 0

سلام

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

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

+1 0
لطفاً عنوان طبق راهنمای سایت عنوان مناسبتری انتخاب کنید. (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Hajhosseini  11 سال پیش
+2 0

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

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

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

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

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

+1 0
ممنونم از کمکتون :) جواب گرفتم حل شد (11 سال پیش)

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