image view
سلام
من توو برنامم چندتا ایمیج ویو دارم که ارتفاع اون ها براساسه ارتفاع صفحه تغییر میکنه و میخوام عرض اونها براساس ارتفاع تغییر کنه(یعنی عرض برار ارتفاع باشه در هر گوشی ای)
ممنون میشم دوستان راهنمایی کنن که چطوری اینکارو انجام بدم؟
1: میتونید در کدتون این کار رو انجام بدید.
2: میتونید با سایز عکس این کار رو انجام بدید، چون عکس ها مربع هستند سایز imageView هم مربع میشود.
در روش اول اگر شما نیاز به یک قالب دارید که همه جا ازش استفاده کنید، یک کلاس CustomeImageView بسازید و سایز رو در اون تغییر بدید. اگر نه که میتونید دونه دونه سایز تعیین کنید.
روش دوم adjustViewBounds رو در property های imageView حتما تیک بزنید.
کاملا درسته، همون adjustViewBounds هست. پاسخ رو اصلاح کردم.
نمونه کد:
final View view = null;
view.post(new Runnable() {
@Override
public void run() {
view.getLayoutParams().height = view.getWidth();
}
});
چرا از post استفاده کردم؟
پاسخ: چون زمانی که شما این کد رو اجرا میکنید ویوتون مقداردهی نشده، باید این کد رو در post قرار بدید، این کار ویو رو به یک استک اضافه میکنه نه اینکه در همون لحظه کد رو اجرا کنه، زمانی که ویو ساخته شد، این کد اجرا میشه و سایز ارتفاع ویو برابر با عرض اون میشه.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .