رفتن به مطلب
  • 0

شرط برای سایز صفحه گوشی های مختلف


haspic123

سوال

من می خوام برای صفحه گوشی های مختلف شرط بزارم کد رو باید چجوری بنویسم و کجا

همه این دردسر ها فقط برای سایز متن تو گوشی های مختلفه دیونم کرده به خدا اخه یه روش استاندارد وجود نداره که یه سایز مثلا 14 رو برای متن بزارم و تو همه گوشیها به یک صورت نشون بده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

15 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

نکته ی اول اینکه سایز متن در اندورید استادیو بر حسب sp هست کلا استاندارد گوگل همینه که باید بر اساس sp باشه خود ارل گفته که داخل بیسیک هم بر حسب sp سایز ها یعنی اینجوری فقط وارد کنید lb.textsize=14    ولی خب من ندیدم چون باز هم تغییر میکنه احتمالا باگ بیسیک هست sp میاد بر اساس scale  سایز رو تنظیم میکنه و شما وقتی مثلا 14 میدید روی تمامی گوشی ها ثابت هست و کوچیک و بزرگ نمیشه حالا این مشکل رو بخواین داخل بیسیک حل کنید می تونید بر اساس اکتیویتی سایز شما بیاید سایز رو بدید حالا چجوری  

Dim Txtsizes As Float 
Txtsizes=GetDeviceLayoutValues.approximatescreensize
Dim Autotextsize As  Float=Txtsizes*3.2

label.textsize=Autotextsize



یه نکته اینجا ذکر کنم من اینجا بر حسب اکتیویتی سایز این کارو انجام ندادم . چون یه تابع جدا داره نمی خواستم کدها زیاد بشه و گیج بشید . اینجا میاد سایز لایوت رو در تمام گوشی ها میگیره  در 3.2 ضرب میکنه  

معمولا سایز لایوت ها متفاوت هست 4.2 یا 4.5 یا 4.3 متناسب با هر گوشی و همین باعث میشه سایزتکست لیبل هم متناسب با این سایز تناسب داشته باشه حالا این 3.2 که اینجا دادم تقریبا میشه سایز تکست 14 شما با کم و زیاد کردن 3.2 می تونید سایز های بزرگتر و کوچکتر رو امتحان کنید .

 

حالا اگر خواستید از دیزاینر این کار رو کنید چون داخل دیزاینر مستقیما میشه اکتیویتی سایز رو داد اینجوری سایز بدید .

label.TextSize=label.TextSize*ActivitySize/4.5

دقت کنید چون مقدار اکتیویتی سایز دقیق تر هست اینجا 4.5 دادیم . 

 

با این روش ها میشه سایز ها رو متناسب با سایزهای مختلف گوشی یک اندازه نگه داشت . موفق و پیروز باشید. 

دوستان دیگه هم مشکل داشتن لطفا لینک این صفحه رو بهشون بدید زیاد دیدم سوال شده و جواب درستی داده نشده.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نکته ی اول اینکه سایز متن در اندورید استادیو بر حسب sp هست کلا استاندارد گوگل همینه که باید بر اساس sp باشه خود ارل گفته که داخل بیسیک هم بر حسب sp سایز ها یعنی اینجوری فقط وارد کنید lb.textsize=14 ولی خب من ندیدم چون باز هم تغییر میکنه احتمالا باگ بیسیک هست sp میاد بر اساس scale سایز رو تنظیم میکنه و شما وقتی مثلا 14 میدید روی تمامی گوشی ها ثابت هست و کوچیک و بزرگ نمیشه حالا این مشکل رو بخواین داخل بیسیک حل کنید می تونید بر اساس اکتیویتی سایز شما بیاید سایز رو بدید حالا چجوری

Dim Txtsizes As Float 
Txtsizes=GetDeviceLayoutValues.approximatescreensize
Dim Autotextsize As  Float=Txtsizes*3.2

label.textsize=Autotextsize



یه نکته اینجا ذکر کنم من اینجا بر حسب اکتیویتی سایز این کارو انجام ندادم . چون یه تابع جدا داره نمی خواستم کدها زیاد بشه و گیج بشید . اینجا میاد سایز لایوت رو در تمام گوشی ها میگیره در 3.2 ضرب میکنه

معمولا سایز لایوت ها متفاوت هست 4.2 یا 4.5 یا 4.3 متناسب با هر گوشی و همین باعث میشه سایزتکست لیبل هم متناسب با این سایز تناسب داشته باشه حالا این 3.2 که اینجا دادم تقریبا میشه سایز تکست 14 شما با کم و زیاد کردن 3.2 می تونید سایز های بزرگتر و کوچکتر رو امتحان کنید .

حالا اگر خواستید از دیزاینر این کار رو کنید چون داخل دیزاینر مستقیما میشه اکتیویتی سایز رو داد اینجوری سایز بدید .

label.TextSize=label.TextSize*ActivitySize/4.5
دقت کنید چون مقدار اکتیویتی سایز دقیق تر هست اینجا 4.5 دادیم .

با این روش ها میشه سایز ها رو متناسب با سایزهای مختلف گوشی یک اندازه نگه داشت . موفق و پیروز باشید.

دوستان دیگه هم مشکل داشتن لطفا لینک این صفحه رو بهشون بدید زیاد دیدم سوال شده و جواب درستی داده نشده.

باسلام.بنده چون لیبل یاباتن هامو ازطریق دیزاینر اد کردم.مجبورم !ازاین کداستفاده کنم:

label.TextSize=label.TextSize*ActivitySize/4.5

اما وقتی این کد رومیزارم توی اکتویتی کریت مربوطهActivitySizeرو اصلایه کلمه نادرست باناشناخته وقرمز میکنه اصلا همچین مشخصه ای توی بیسیک۴اندرویدنسخه۶هست؟

لطفاراهنمایی کنید

لطفاراهنمایی کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

باسلام.بنده چون لیبل یاباتن هامو ازطریق دیزاینر اد کردم.مجبورم !ازاین کداستفاده کنم:

label.TextSize=label.TextSize*ActivitySize/4.5

اما وقتی این کد رومیزارم توی اکتویتی کریت مربوطهActivitySizeرو اصلایه کلمه نادرست باناشناخته وقرمز میکنه اصلا همچین مشخصه ای توی بیسیک۴اندرویدنسخه۶هست؟

لطفاراهنمایی کنید

لطفاراهنمایی کنید

بله activity size داخل دیزاینر هست و کد هیچ مشکلی نداره دقت کنید ببیند اسم لیبل خودتون رو درست نوشتید .

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بله activity size داخل دیزاینر هست و کد هیچ مشکلی نداره دقت کنید ببیند اسم لیبل خودتون رو درست نوشتید .

الان درست شد وبنده توی پروپرتیس سایز۱۷ رو دادم واون کد شمارو هم به اسکریپت دیزاینر اضافه کردم.

ینی الان توی هرگوشی درست نمایش داده میشه؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

واقعا عالی عالی بود خدا خیرت بده از هر ماژول و روشی استفاده کردم نشد ولی دستور شما جواب داد

دمت گرم داداش

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نکته ی اول اینکه سایز متن در اندورید استادیو بر حسب sp هست کلا استاندارد گوگل همینه که باید بر اساس sp باشه خود ارل گفته که داخل بیسیک هم بر حسب sp سایز ها یعنی اینجوری فقط وارد کنید lb.textsize=14    ولی خب من ندیدم چون باز هم تغییر میکنه احتمالا باگ بیسیک هست sp میاد بر اساس scale  سایز رو تنظیم میکنه و شما وقتی مثلا 14 میدید روی تمامی گوشی ها ثابت هست و کوچیک و بزرگ نمیشه حالا این مشکل رو بخواین داخل بیسیک حل کنید می تونید بر اساس اکتیویتی سایز شما بیاید سایز رو بدید حالا چجوری  

Dim Txtsizes As Float 
Txtsizes=GetDeviceLayoutValues.approximatescreensize
Dim Autotextsize As  Float=Txtsizes*3.2

label.textsize=Autotextsize



یه نکته اینجا ذکر کنم من اینجا بر حسب اکتیویتی سایز این کارو انجام ندادم . چون یه تابع جدا داره نمی خواستم کدها زیاد بشه و گیج بشید . اینجا میاد سایز لایوت رو در تمام گوشی ها میگیره  در 3.2 ضرب میکنه  

معمولا سایز لایوت ها متفاوت هست 4.2 یا 4.5 یا 4.3 متناسب با هر گوشی و همین باعث میشه سایزتکست لیبل هم متناسب با این سایز تناسب داشته باشه حالا این 3.2 که اینجا دادم تقریبا میشه سایز تکست 14 شما با کم و زیاد کردن 3.2 می تونید سایز های بزرگتر و کوچکتر رو امتحان کنید .

 

حالا اگر خواستید از دیزاینر این کار رو کنید چون داخل دیزاینر مستقیما میشه اکتیویتی سایز رو داد اینجوری سایز بدید .

label.TextSize=label.TextSize*ActivitySize/4.5

دقت کنید چون مقدار اکتیویتی سایز دقیق تر هست اینجا 4.5 دادیم . 

 

با این روش ها میشه سایز ها رو متناسب با سایزهای مختلف گوشی یک اندازه نگه داشت . موفق و پیروز باشید. 

دوستان دیگه هم مشکل داشتن لطفا لینک این صفحه رو بهشون بدید زیاد دیدم سوال شده و جواب درستی داده نشده.

 

 

سلام و تشکر از شما دوست عزیز 

واقعا پایخ کاربردی و دقیقی بود فقط اگر محبت کنید بفرمایید 

بر حسب اکتیویتی سایز این کارو چه طوری انجام میشه و  تابع  آن را معرفی کنید ممنون میشم مرسی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام و تشکر از شما دوست عزیز 

واقعا پایخ کاربردی و دقیقی بود فقط اگر محبت کنید بفرمایید 

بر حسب اکتیویتی سایز این کارو چه طوری انجام میشه و  تابع  آن را معرفی کنید ممنون میشم مرسی

ممنون در محیط دیزاینر اکتیوتی سایز که براحتی بدست میاد . ولی برای محیط کدنویسی از این تابع می تونید استفاده کنید . 

Sub ActivitySize As Double
  Dim lv As LayoutValues
  lv.Height = Activity.Height
  lv.Width = Activity.Width
  lv.Scale = GetDeviceLayoutValues.Scale
  Return lv.ApproximateScreenSize
End Sub

if activitysize>6.5 then log"("tablet")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

ممنون در محیط دیزاینر اکتیوتی سایز که براحتی بدست میاد . ولی برای محیط کدنویسی از این تابع می تونید استفاده کنید . 

Sub ActivitySize As Double
  Dim lv As LayoutValues
  lv.Height = Activity.Height
  lv.Width = Activity.Width
  lv.Scale = GetDeviceLayoutValues.Scale
  Return lv.ApproximateScreenSize
End Sub

if activitysize>6.5 then log"("tablet")

سلام امین جان و تشکر از بابت راهنمایی بی دریغ 

امید وارم همیشه شاد و سلامت باشی و واقعا انجمن با عزیزانی مثل شما هست که زنده هست و فعال :-)

من در برنامه یه لیست ویو خیلی ساده و یک خطی دارم که با کد های زیز تعریف کردم و همونطور که میبینی کد سایز رو دستی دادم 14 !!!

ولی خوب در هر گوشی به مشکل خودش میخوره و همینطور که گفتی گوشی های کوچیک خیلی بزرگه و در گوشی های بزرگ و تبلت خیلی ریز میشه

سعی کردم این ساب و کد ها رو استفاده کنم نتونستم 

ممکنه راهنمایی کنی به من دقیق تر که چه باید بکنم برای تنظیم سایز نوشته های این لیست ویو؟؟؟

 

Sub Globals
	Private ListView_Primary As ListView


 Activity_Create(FirstTime As Boolean)


	ListView_Primary.SingleLineLayout.Label.TextColor=Colors.red
	ListView_Primary.SingleLineLayout.Label.Gravity=Gravity.CENTER
'	ListView_Primary.SingleLineLayout.Label.TextSize=14

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

سلام امین جان و تشکر از بابت راهنمایی بی دریغ 

امید وارم همیشه شاد و سلامت باشی و واقعا انجمن با عزیزانی مثل شما هست که زنده هست و فعال :-)

من در برنامه یه لیست ویو خیلی ساده و یک خطی دارم که با کد های زیز تعریف کردم و همونطور که میبینی کد سایز رو دستی دادم 14 !!!

ولی خوب در هر گوشی به مشکل خودش میخوره و همینطور که گفتی گوشی های کوچیک خیلی بزرگه و در گوشی های بزرگ و تبلت خیلی ریز میشه

سعی کردم این ساب و کد ها رو استفاده کنم نتونستم 

ممکنه راهنمایی کنی به من دقیق تر که چه باید بکنم برای تنظیم سایز نوشته های این لیست ویو؟؟؟

 

Sub Globals
	Private ListView_Primary As ListView


 Activity_Create(FirstTime As Boolean)


	ListView_Primary.SingleLineLayout.Label.TextColor=Colors.red
	ListView_Primary.SingleLineLayout.Label.Gravity=Gravity.CENTER
'	ListView_Primary.SingleLineLayout.Label.TextSize=14

ممنونم لطف دارید کاری نداره شما سایز متن رو اینجوری بهش بدید   

label.TextSize=label.TextSize*ActivitySize/4.5

با کم و زیاد کردن عدد 4.5 سایز تکست شما هم بزرگ و کوچیک میشه ولی حواست باشه عدد هر چی کوچکتر بشه سایز بزرگتر میشه  از اون یکی روش دیگه هم که گفتم می تونید استفاده کنید فقط یادت باشه تابع اکتیویتی سایز رو داخل برنامت بگذاری

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

این کار شاید درست نباشه ولی فکر کنم بتونید از Activity.Width و Height استفاده کنید. :sorry:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من می خوام شرط روی resolotion گوشی ها بزارم

مثلا بگم اگه سایز صفحه 800 در ۶۰۰ بود این کارو بکن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این روشی که دوستان فرمودن روش بی عیب و نقصی نیست، بلکه در گوشی های با تراکم پیکسلی بالا واقعا نوشته ها کوچیک میشن و بر عکس! لطفا یکی، یک روش بهتر ارائه بده!:sorry:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این روش تو گوشی هاس سامسونگ مشکل داره و فونت خیلی بزرگ میشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این روش تو گوشی هاس سامسونگ مشکل داره و فونت خیلی بزرگ میشه

داداش آدرس غلط ندهید.

هیچ مشکلی نداره داداش اصلا ربطی به مارک گوشی نداره این سایز لایوت و اکتیویتی سایز رو میگیره من خودم گوشیم سامسونگ هست و مدت ها هم هست دارم از این روش استفاده میکنم دوستان دیگه هم میشناسم دارن استفاده میکنن و هیج مشکلی هم برام بوجود نیامده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...