مهران محمودی 778 ارسال شده در 15 آذر، 2014 اشتراک گذاری ارسال شده در 15 آذر، 2014 با عرض سلام خدمت تمامی کاربران گرامی، بعضی از دوستان در تنظیم مکان قرارگیری کنترل ها مشکل داشتن. (به خصوص پنل) در پی حل این مشکل با مهدی داشتیم مشورت میکردیم که متوجه مشکلی در basic4android شدیم ! توضیحات رو میدم شاید پیچیده باشه: وقتی که به دیزاینر خودتون پنل اضافه میکنید به راحتی با SetLeftAndRight و SetTopAndBottom میتونید مکانش رو تنظیم کنید ! مشکل از جایی شروع میشه که شما به پنل کنترل اضافه کنید !!! ما در اینجا یه listview اضافه میکنیم. این موقع پنل بعنوان دربرگیرنده (parent) اون کنترل که لیست ویو هستش، محسوب میشه، درست ؟ پس باید با کدی مشابه به این: listview1.SetLeftAndRight(5%x,95%x) شما بتونید مکان قرارگیری لیست ویو رو در پنل تنظیم کنید ! یعنی به مقدار 5 درصد طول افقی صفحه از سمت چپ، و به همون مقدار از سمت راست پنل فاصله داشته باشه ! مشکل دقیقا همین هستش ! از سمت چپ به اندازه 5 درصد طول افقی صفحه از پنل فاصله پیدا میکنه ولی از سمت راست به اندازه 5 درصد از فعالیت (activity) فاصله پیدا میکنه !!!!!!! که این درست نیست و از هر دوطرف باید مقیاس پنل باشه. برای حل این مشکل شما باید: فاصله پنل از سمت راست فعالیت (Panel1.Right) - (فاصله ای که میخواید کنترل از پنل داشته باشه + فاصله پنل از فعالیت) مثال از انجام همینکار: Panel1.SetLeftAndRight(5%x,95%x) پنل از سمت راست به اندازه 5 درصد فاصله داره چون گفتیم 95 درصد x، پس 5 درصد آزاد میمونه، درست؟ ادامه کار: ListView1.SetLeftAndRight(5%x,Panel1.Right - 10%x) با این کد لیست ویو از سمت چپ به اندازه 5 درصد اندازه افقی صفحه از پنل فاصله میگیره. اون 10 درصد x چطور به دست اومده؟ : فاصله سمت راست پنل از فعالیت (5 درصد) + فاصله ای که میخوایم لیست ویو از سمت راست پنل داشته باشه (باز هم 5 درصد) = 10 درصد میشه گفت این فرمول کلی رو: ListView1.SetLeftAndRight(5%x,Panel1.Right - FASELE) بجای FASELE باید محاسباتی که گفته شد رو انجام بدید ! دقیقا همین مشکل برای SetTopAndBottom نیز وجود داره ! یعنی از سمت بالا نسبت به پنل و از پایین نسبت به فعالیت فاصله پیدا میکنه. یعنی اگه پنل به این شکل باشه: Panel1.SetLeftAndRight(5%x,95%x) Panel1.SetTopAndBottom(10%y,90%y) لیست ویو باید به این شکل باشه: ListView1.SetLeftAndRight(5%x,Panel1.Right - 10%x) ListView1.SetTopAndBottom(5%y,Panel1.Bottom - 25%y) و بعنوان مثال اگه بخوایم یک دکمه به پایین لیست ویو بچسبه، کدهای اون به این شکل میشه: Button1.SetLeftAndRight(5%x,Panel1.Right-10%x) Button1.SetTopAndBottom(Panel1.Bottom-25%y,Panel1.Bottom-15%y) میدونم گیج کننده هستش. ولی متاسفانه وجود داره این مشکل. مطمئنا با آموزش تصویری بهتر متوجه خواهید شد. آموزش تصویری به زودی در سایت قرار میگیره. ___ انجمن برنامه نویسان Basic4Android ایــــــران لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sepidpor 19 ارسال شده در 29 بهمن، 2014 اشتراک گذاری ارسال شده در 29 بهمن، 2014 راه حل دیگه هم می تونه این باشه که به جای این کد listview1.SetLeftAndRight(5%x,95%x) این کد رو بنویسیم ListView1.Width = Panel1.Width - 10%x ListView1.Left = 5%x اینجور خود به خود از چپ راست تنظیم میشه و نیاز به محاسبه نیستش البته ببخشید در پست آموزشی مطلب گذاشتم... فقط هدف نشون دادن راه دیگه هستش لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sepidpor 19 ارسال شده در 29 بهمن، 2014 اشتراک گذاری ارسال شده در 29 بهمن، 2014 اینم یه نمونه کد که خودم از این روش استفاده می کنم تا آبجکت داخل پنل بچینم تو این کد سه تا لیبل رو در عرض طوری قرار دادم که اندازه هاشون یکی باشه و فاصله از دیواره های چپ و راستشون و بالا و پایینشون هم به یک اندازه باشه Panel1.SetLeftAndRight (3%x,96%x) Panel1.SetTopAndBottom (5%y,95%y) Label1.Height = Panel1.Height -2%x Label1.Top = 1%x Label1.Width = 30%x Label1.Left = 1%x Label2.Height = Panel1.Height -2%x Label2.Top = 1%x Label2.Width = 30%x Label2.Left = Label1.Right + 1%x 'OR 32%x Label3.Height = Panel1.Height -2%x Label3.Top = 1%x Label3.Width = 30%x Label3.Left = Label2.Right + 1%x 'OR 63%x لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
tdx 10 ارسال شده در 5 اردیبهشت، 2015 اشتراک گذاری ارسال شده در 5 اردیبهشت، 2015 سلام من یه پنل گذاشتم که تمام صفحه رو پوشش میده یعنی : main_p.SetLeftAndRight(0,100%x) main_p.SetTopAndBottom(0,100%y) حالا اگه بخوام کنترل بذارم مختصات چطور بدم ؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مهدی ایزدی 9,201 ارسال شده در 5 اردیبهشت، 2015 اشتراک گذاری ارسال شده در 5 اردیبهشت، 2015 سلام من یه پنل گذاشتم که تمام صفحه رو پوشش میده یعنی : main_p.SetLeftAndRight(0,100%x) main_p.SetTopAndBottom(0,100%y) حالا اگه بخوام کنترل بذارم مختصات چطور بدم ؟ درود. پیشنهاد میکنم این آموزش تصویری که استاد خلیلی دادن رو دانلود کنید: http://answercenter.ir/thread968.html کاملا توضیح دادن همه چیز رو در مورد تنظیم کردن. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
tdx 10 ارسال شده در 8 اردیبهشت، 2015 اشتراک گذاری ارسال شده در 8 اردیبهشت، 2015 ممنونم*ناز* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسال های توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.