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

تنظیم ارتفاع و عرض یک کنترل با استفاده از کد نویسی

hoseinnrz  11 سال پیش  11 سال پیش
+1 0

با سلام 
من یه چنین نموداری دارم ، تو این نمودار ، لایه های خاکستری رنگ Relative Layout هستند ، و لایه های زرد رنگ Button هستند ، حالا کاری که میخوام بکنم اینه که ارتفاع لایه های زرد رنگ ، نصف  و یا یک سوم لایه خاکستری رنگ شود (در حین اجرای برنامه) ، این کار از طریق کد نویسی چگونه امکان پذیره ؟ 

+1 0
موقع ورود به برنامه ارتفاع صفحه رو بگیرید , اون رو تقسیم بر 3 کنید , و ست کنید :| (11 سال پیش)
0 0
دو تا مشکل با این قضیه دارم ، اول اینکه ، این نمودار فقط بخشی از فرم من هست ، نه کل فرم من بعد اینکه اگه امکانش هست کد گرفتن طول و عرض صفحه رو بنویسید (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
کاشی زاده  11 سال پیش
+2 0

برای مشخص کردن طول و عرض از این کد استفاده کن :

 btn.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

که بجای مقدار های بالا میتونید مقدار مورد نظرتون رو وارد کنید .

 

موفق باشید ;)

 

0 0
مقادار طول و عرض Relative layout رو چه جوری بگیرم ، وقتی که از متد های getHeight استفاده می کنم ، چون RelativeLayout در xml رو FillParent تنظیم شده ، مقدار صفر رو بر میگردونه ، به همین خاطر هم چون که اندازه اصلی رو ندارم ، نمیتونم تقسیم بر دو یا تقسیم بر سه کنم (11 سال پیش)
0 0
حتی این متد getMeasuredHeight() هم جواب نمیده ، چون این هم یا مقدار صفر یا مقدار -1 بر میگردونه ، در واقع هیچ کدوم اندازه اصلی RelativeLayout رو بر نمی گردونه حالا چی کار کنم ؟ (11 سال پیش)
+1 0
با همین دستوری که نوشتم میتونید با کمی تغییرات برای relative هم استفاده کنید (11 سال پیش)
+1 0
این لینک و این لینک رو هم بخون (11 سال پیش)
پاسخ به سوال 
hoseinnrz  11 سال پیش
+1 0

دست همه شما درد نکنه ، اینم راه حل ،  بعد کلی امتحان کردن :

 
final RelativeLayout llBack1 = (RelativeLayout) findViewById(R.id.llBack1);
final Button btnFront1 = (Button) findViewById(R.id.btnFront1);

llBack1.post(new Runnable() { public void run() { ViewGroup.LayoutParams params = btnFront1.getLayoutParams(); params.width = ViewGroup.LayoutParams.MATCH_PARENT; int y = llBack1.getHeight(); params.height = y / 3; btnFront1.requestLayout(); } });

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