مهران محمودی 778 ارسال شده در 24 شهریور، ۱۳۹۳ اشتراک گذاری ارسال شده در 24 شهریور، ۱۳۹۳ با عرض سلام خدمت تمامی کاربران گرامی، بعضی از دوستان در تنظیم مکان قرارگیری کنترل ها مشکل داشتن. (به خصوص پنل) در پی حل این مشکل با مهدی داشتیم مشورت میکردیم که متوجه مشکلی در 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 ارسال شده در 8 آذر، ۱۳۹۳ اشتراک گذاری ارسال شده در 8 آذر، ۱۳۹۳ راه حل دیگه هم می تونه این باشه که به جای این کد listview1.SetLeftAndRight(5%x,95%x) این کد رو بنویسیم ListView1.Width = Panel1.Width - 10%x ListView1.Left = 5%x اینجور خود به خود از چپ راست تنظیم میشه و نیاز به محاسبه نیستش البته ببخشید در پست آموزشی مطلب گذاشتم... فقط هدف نشون دادن راه دیگه هستش لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sepidpor 19 ارسال شده در 8 آذر، ۱۳۹۳ اشتراک گذاری ارسال شده در 8 آذر، ۱۳۹۳ اینم یه نمونه کد که خودم از این روش استفاده می کنم تا آبجکت داخل پنل بچینم تو این کد سه تا لیبل رو در عرض طوری قرار دادم که اندازه هاشون یکی باشه و فاصله از دیواره های چپ و راستشون و بالا و پایینشون هم به یک اندازه باشه 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 ارسال شده در 16 بهمن، ۱۳۹۳ اشتراک گذاری ارسال شده در 16 بهمن، ۱۳۹۳ سلام من یه پنل گذاشتم که تمام صفحه رو پوشش میده یعنی : main_p.SetLeftAndRight(0,100%x) main_p.SetTopAndBottom(0,100%y) حالا اگه بخوام کنترل بذارم مختصات چطور بدم ؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مهدی ایزدی 9,203 ارسال شده در 16 بهمن، ۱۳۹۳ اشتراک گذاری ارسال شده در 16 بهمن، ۱۳۹۳ سلام من یه پنل گذاشتم که تمام صفحه رو پوشش میده یعنی : main_p.SetLeftAndRight(0,100%x) main_p.SetTopAndBottom(0,100%y) حالا اگه بخوام کنترل بذارم مختصات چطور بدم ؟ درود. پیشنهاد میکنم این آموزش تصویری که استاد خلیلی دادن رو دانلود کنید: http://answercenter.ir/thread968.html کاملا توضیح دادن همه چیز رو در مورد تنظیم کردن. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
tdx 10 ارسال شده در 19 بهمن، ۱۳۹۳ اشتراک گذاری ارسال شده در 19 بهمن، ۱۳۹۳ ممنونم*ناز* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.