این ارسال پرطرفدار است. محمدرضا شاهپیری 5,582 ارسال شده در 14 مرداد، ۱۳۹۶ این ارسال پرطرفدار است. اشتراک گذاری ارسال شده در 14 مرداد، ۱۳۹۶ کتابخونه ویرایش شد و متدهای جدید هم اضافه شد. به نام خدا بازم سلام به انسورسنتری های عزیز برای بسیاری از دوستان این مشکل وجود داره که اندازه ها تو گوشی های متفاوت براشون مشکل درست میکنه و تو سایزهای مختلف سایزها کوچیک یا بزرگ دیده میشن. یکی از راه های اصولی که خود گوگل هم پیشنهاد میده اینه که سایزها رو تو پوشه های مختلف ریسورس قرار بدین و دیگه خود اندروید با توجه به سایز صفحه سایز متناسب رو میخونه. توی بیسیک کتابخونه ای برای خوندن مقادیر از پوشه dimen وجود نداره برای همین کتابخونه رو برای دوستان آماده کردیم تا استفاده کنن. نحوهی استفاده به این صورت هست. فرض کنیم یه لیبل داریم و میخوایم تو گوشی های مختلف سایز متفاوتی داشته باشه. ابتدا به پوشه ی Objects\res موجود توی برنامه میریم و پوشه ای به نام values میسازیم و اونو read only میکنیم حالا یه فایل به نام dimens.xml توی این پوشه میسازیم. تا اینجا کار تمومه فقط باید مقادیری که میخوایم به صورت زیر توی پوشه قرار بدیم و در نهایت اونو read only کنیم(حتما این کارو بکنید که فایل در حین کامپایل پاک نشه). <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="lable_textsize">24dp</dimen> <dimen name="lable_height">30dp</dimen> <dimen name="lable_with">50dp</dimen> <dimen name="imageview_size">70dp</dimen> </resources> حالا کتابخونه رو تیک میزنیم و به صورت زیر استفاده میکنیم(مثلا اندازه متن لیبل رو میدیم) Dim p As Persian_Android_Dimen p.initialize Label1.TextSize=p.getDimen("lable_textsize") دوستان دقت کنید دیگه نیازی به پوشه های values-normal و values-large و .... نیست. کافیه پوشه value و فایل dimen رو ایجاد کنید کتابخونه بر اساس سایز گوشی مقادیر رو انتخاب میکنه. امیدوارم مفید بوده باشه. لینک کتابخانه نسخه جدید. دوستان کتابخونه ویرایش شد به خاطر یک اشتباه محاسباتی مقادیر تو سایزهای مختلف درست گرفته نمیشد که برطرف شد. متدهای جدید و کاربردی رو به کتابخونه اضافه کردم. از جمله گرفتن طول و عرض گوشی بر حسب پیگسل همچنین گرفتن چگالی گوشی بر حسب dp و گرفتن اسکیل گوشی نیز اضافه شده. Dim pr As Persian_Android_Dimen pr.initialize Msgbox("value="&pr.getDimen("fab_elevation")&CRLF&"denc= "&pr.scaledDensity&CRLF&"dencDPI= "&pr.densityDpi&CRLF&"xDPI= "&pr.widthPixels&CRLF&"yDPI= "&pr.heightPixels,"") لینک نسخه جدید 12 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 14 مرداد، ۱۳۹۶ اشتراک گذاری ارسال شده در 14 مرداد، ۱۳۹۶ سلام خدمت آقای شاهپیری وتشکر از ارائه کتابخانه جدیدتان . واسه من این خطا رو داد : Generating R file. Error res\values\dimens.xml:7: error: Resource entry lable_size1 is already defined. res\values\dimens.xml:4: Originally defined here. XMLرو اینطوری تغییرش دادم خطا رفع شد ولی مشکل دیگه این بود که اندازه اولیه فونت لیبل خودبخود تغییرپیدا کرده ودیگه اون اندازه اولیه نیست!مثلا سایز اولیه فونت رو از دیزاینر 40 می کنم ولی باز درحدود 14 نشون میده ! <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="lable_size1">24dp</dimen> <dimen name="lable_size2">30dp</dimen> <dimen name="lable_size3">50dp</dimen> <dimen name="lable_size4">70dp</dimen> </resources> نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,582 ارسال شده در 14 مرداد، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 14 مرداد، ۱۳۹۶ دوست عزیز قبل از اینکه از کتابخونه استفاده کنید حتما توضیحات رو به دقت بخونید. مواردی که باید رعایت کنید اینه که حتما پوشه ها و فایلها رو read only کنید تا حین کامپایل حذف نشن. دوم اینکه شما توی دیزاینر سایز نزارید اصلا سایز نرمال رو توی همون فایل xml بزارین کتابخونه خودش واسه سایزای مختلف تغییرش میده 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Amir - B 185 ارسال شده در 14 مرداد، ۱۳۹۶ اشتراک گذاری ارسال شده در 14 مرداد، ۱۳۹۶ خیلی ممنون آقا محمد ببخشید تو فایل dimen.xml ، لیبل سایز1 ، لیبل سایز 2 و .... ، اندازه های مختلف متن برای یک ویو هستش؟ یعنی گوگل از میان این چهارتا میاد انتخاب میکنه ؟ یا هر کدوم برای یک ویو هستش؟ اگر بخواهیم برای هر ویو مثلا باتن ها، لیبل ها و... اندازه مشخصی بدیم، چطور باید درست کنیم . ممنون نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,582 ارسال شده در 14 مرداد، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 14 مرداد، ۱۳۹۶ من فکر کنم دوستان متوجه نشدن قضیه از چه قراره. ببینید دوستان فرض کنیم شما یه لیبل دارین و میخواین واسش اندازه متن بزارین. فقط کافیه یه dimen به شکل زیر درست کنین تو فایل xml همین. برای بقیه ویوها هم همین کارو بکنین دیگه. <dimen name="lable_textsize">24dp</dimen> 3 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 14 مرداد، ۱۳۹۶ اشتراک گذاری ارسال شده در 14 مرداد، ۱۳۹۶ در 11 ساعت قبل، محمدرضا شاهپیری گفته است : دوست عزیز قبل از اینکه از کتابخونه استفاده کنید حتما توضیحات رو به دقت بخونید. مواردی که باید رعایت کنید اینه که حتما پوشه ها و فایلها رو read only کنید تا حین کامپایل حذف نشن. دوم اینکه شما توی دیزاینر سایز نزارید اصلا سایز نرمال رو توی همون فایل xml بزارین کتابخونه خودش واسه سایزای مختلف تغییرش میده متشکرم بله توضیحات رو خونده بودم وهم پوشه وهم فایل read only بود ولی ظاهرا خطایی که عرض کردم واسه تکراری بودن نام لیبل در xml درسطر هفتم مثال هست (lable_size1 is already defined) ، نه واسه حذف فایل وپیدانشدن اون! راجع به سایز دهی هم که نباید در دیزاینر باشه وباید توی xml باشه هم متشکرم حل شد. 2 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 14 مرداد، ۱۳۹۶ اشتراک گذاری ارسال شده در 14 مرداد، ۱۳۹۶ سلام، بسیار عالی آقا محمدرضا بازهم مثل همیشه. ببخشید فقط من متوجه نشدم، الان اینجا ما وقتی سایز متن لیبل رو دادیم 24dp توی گوشی های مختلف اندازه متن تغییر میکنه؟ خودم فکر کنم آره چون dp هر گوشی مختص به سایز خودشه. حالا جای این خودمون مستقیم dip بدیم چطوره؟ چون من دیده بودم تو سایت مرجع ارل گفته بود سایز متن هارو اگه میخوای تنظیم بشه dip بدید. خسته نباشی نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,582 ارسال شده در 14 مرداد، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 14 مرداد، ۱۳۹۶ ممنونم پژمان جان. انجام وظیفه اس. ببین عزیزم یکی اینکه شما وقتی dimen تعریف میکنی متونی همه ی واحدها رو بدی. sp , dp , dip و هر واحدی که فکرشو بکنی شما میتونی بدی. مثلا تو همین کتابخونه برای اندازه لیبل شما به جای 24dp میتونید واحد sp رو استفاده کنید یعنی بنویسید 24sp پس هیچ مورد و محدودیتی نیست. ام ادر مورد این سوال وقتی سایز متن لیبل رو دادیم 24dp توی گوشی های مختلف اندازه متن تغییر میکنه؟ اگه توضیحات رو بخونی من تاکید کردم که توی هر گوشی سایز متناسب با اندازه اون گوشی تغییر میکنه. و جای نگرانی نیست کافیه شما اونو تو گوشی خودتون ست کنید برای بقیه گوشیها دیگه درسته و متناسب با اون گوشی سایز تغییر میکنه 2 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
AmiReza_71 13 ارسال شده در 16 مرداد، ۱۳۹۶ اشتراک گذاری ارسال شده در 16 مرداد، ۱۳۹۶ سلام ، ممنون برای ساخت کتابخانه . بچه ها نیاز نیست داخل فولدر object فولدر بسازید و read only کنید . کافیه داخل فولدر پروژه یه فولدر به اسم res بسازید و فایل های مورد نیاز رو داخل فولدر res ایجاد کنید و در محیط کد نویسی کدی که تو پایین هست رو قرار بدید. #AdditionalRes : ../res بیسیک بعد از هر کامپایل تغییرات رو اعمال میکنه و هیچ کاری هم با فایل شما نداره. 2 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ha88an 203 ارسال شده در 25 مرداد، ۱۳۹۶ اشتراک گذاری ارسال شده در 25 مرداد، ۱۳۹۶ جناب شاهپیری ممنون بخاطر کتابخونه فوق العادتون من از این کتابخونه استفاده کردم اما توی گوشی 5 اینچی من یه سایز نشون میده و توی تبلت دوستم و شبیه ساز سیستم خودم یه سایز دیگه توی دیوایس های با صفحه بزرگ مثل تبلت ها کوچیک نشون داده میشه گوشی 5 اینچی خودم: تبلت 7 اینچی و شبیه ساز remix: فایل xml: <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="lable_textsize">5dp</dimen> <dimen name="lable_textsize2">6dp</dimen> <dimen name="lable_textsize3">7dp</dimen> <dimen name="lable_textsize4">8dp</dimen> </resources> و اینجوری ازش استفاده میکنم: label1.TextSize = Dimen.getDimen("lable_textsize2") مشکل کجاس ؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,582 ارسال شده در 27 مرداد، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 27 مرداد، ۱۳۹۶ در در 1396/05/25, 21:26:45، ha88an گفته است : کتابخونه ویرایش شد عزیز. تست کنید. 2 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Amir - B 185 ارسال شده در 27 مرداد، ۱۳۹۶ اشتراک گذاری ارسال شده در 27 مرداد، ۱۳۹۶ در 5 ساعت قبل، محمدرضا شاهپیری گفته است : کتابخونه ویرایش شد عزیز. تست کنید. سلام آقا محمد این ورژن کلا مشکل داره . خیلی خیلی خیییلی بزرگتر نشون میده 2 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,582 ارسال شده در 27 مرداد، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 27 مرداد، ۱۳۹۶ سلام. مشکلی نداره عزیز. به خاطر اسکیل گوشیتون هست کتابخونه کلا ویرایش شده. اندازه ها قبلا کوچیک میشد. شما برای مثلا اندازه متن لیبل عددی بین 8 تا 10 بدین. در کل یه عددی بدین که تو گوشیتون درست نشون بده. 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ha88an 203 ارسال شده در 27 مرداد، ۱۳۹۶ اشتراک گذاری ارسال شده در 27 مرداد، ۱۳۹۶ همچنان اندازه توی گوشی های مختلف فرق میکنه جناب شاهپیری میخواید تفاوتش رو ببینید توی ی گوشی با ی تبلت تست کنید تفاوت خیلی زیادی داره اندازه فونت توی گوشی بزرگ و توی تبلت ها کوچیک میشه اندازه فونت (هر چی سایز صفحه بیشتر اندازه فونت کوچیک تر میشه) نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,582 ارسال شده در 28 مرداد، ۱۳۹۶ سازنده اشتراک گذاری ارسال شده در 28 مرداد، ۱۳۹۶ این اپ رو با اندروید استودیو نوشتم تست کنید ببینید تو سایزهای مختلف اندازش چجوریه واستون. در ضمن موقه بازشدن یه توست که همون اندازه تو سایزهای مختلف هست هم نمایش داده میشه. اینم ذکر کنید که چنده app-debug نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
MR.B4A 125 ارسال شده در 26 شهریور، ۱۴۰۲ اشتراک گذاری ارسال شده در 26 شهریور، ۱۴۰۲ سلام به همه دوستان آیا این پست اصلا ربطی به سواله من داره؟! سوال: برنامه من، ویوهاش توی اندازه های مختلف گوشی ها، یکسانه. درصورتی که باید متناسب با اندازه گوشی تغییر کنه، اما ویوها نه جاشون تغییر میکنه و نه اندازه هاشون. درست مثل لین دوتا تصویر خب حالا برای حل این مشکل باید چی کار کرد؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
MR.B4A 125 ارسال شده در 27 شهریور، ۱۴۰۲ اشتراک گذاری ارسال شده در 27 شهریور، ۱۴۰۲ ممنون میشم جواب بدید نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
DexterFstone 396 ارسال شده در 28 شهریور، ۱۴۰۲ اشتراک گذاری ارسال شده در 28 شهریور، ۱۴۰۲ ۱۹ ساعت قبل، batman۱۲۳ گفته است: ممنون میشم جواب بدید سلام معمولا در طراحی از dip استفاده کنید نباید مشکلی پیش بیاید سورس زیر تست کنید ببینید چنین مشکلی رویت میشه یا نه درنظر بگیرید در حالت landscape در دیزاینر باید شرط گذاشته و مجدد مقدار دهی کنید If Portrait Then Else If Landscape Then End if 2 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.