PDA

View Full Version : این برنامه از کدام نوع layout استفاده کرده ؟



majnoon110
شنبه 18 مرداد 1393, 11:43 صبح
سلام دوستان
این برنامه از کدام نوع لایوت استفاده کرده که تونسته عکس ها رو زیر هم یا کنار هم بچینه؟
مثلا سه تا ایکون سمت چپ رو زیر هم گذاشته و کنارش یه ایکون بزرگ گذاشته
من همیشه با چیدن عناصر در ایکلیپس مشکل داشتم با هم ست نمیشن درست حسابی
ممکنه راهنمایی کنید؟
122099

slr560
شنبه 18 مرداد 1393, 11:49 صبح
RelativeLayout

majnoon110
شنبه 18 مرداد 1393, 12:09 عصر
من وقتی از ریلیتیو لیوت استفاده میکنم گاهی به مشکل بر میخورم!
مثلا بهم میگه نمیتونه ادیت تکست و باتن رو با هم کست کنه! و بعد وقتی یکی از اون هارو از روی صفحه بر میدارم درست میشه. و مجبورم همیشه از ترکیب لینیرلایوت عمودی و افقی استفاده کنم!
دلیلش چیه؟

dasssnj
شنبه 18 مرداد 1393, 12:21 عصر
من وقتی از ریلیتیو لیوت استفاده میکنم گاهی به مشکل بر میخورم!
مثلا بهم میگه نمیتونه ادیت تکست و باتن رو با هم کست کنه! و بعد وقتی یکی از اون هارو از روی صفحه بر میدارم درست میشه. و مجبورم همیشه از ترکیب لینیرلایوت عمودی و افقی استفاده کنم!
دلیلش چیه؟

آره برای منم بعضی وقتا اینجوری میشه باید کل لی اوت را از اول بسازم .

slr560
شنبه 18 مرداد 1393, 13:20 عصر
من وقتی از ریلیتیو لیوت استفاده میکنم گاهی به مشکل بر میخورم!
مثلا بهم میگه نمیتونه ادیت تکست و باتن رو با هم کست کنه! و بعد وقتی یکی از اون هارو از روی صفحه بر میدارم درست میشه. و مجبورم همیشه از ترکیب لینیرلایوت عمودی و افقی استفاده کنم!
دلیلش چیه؟


آره برای منم بعضی وقتا اینجوری میشه باید کل لی اوت را از اول بسازم .

استفاده از تابع Cast توی فایل java هست. چه ارتباطی با xml داره آخه؟
و نکته دوم اینکه RelativeLayout یه ظرف هست برای مثلا Button یا TextView یا ....
باز هم cast کردن دکمه ها و تکست ها ربطی به RelativeLayout نداره

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

dasssnj
شنبه 18 مرداد 1393, 14:20 عصر
نه این یه باگه و به خاطر اینه که از دیزاینر اکلیپس استفاده می کنم . دیزاینر اکلیپس بعضی وقتا اشتباه کار می کنه ولی چیز درستی را نشون میده برای همین ما نمی فهمیم ولی گوشی متوجه میشه. این باگ به خاطر اینه که تکست ویو ها یا ... را تند تند توی صفحه بکشیم یا به مدت طولانی بدون سیو کردن فایل xml عناصر را حذف و اضافه کنیم . اینطوری دیزاینر قاطی می کنه و باعث میشه گوشی نتونه لی اوت را inflate کنه . اگه آرام و با حوصله عمل کنیم و فایل را هر 30 ثانیه سیو کنیم این مشکل پیش نمیاد .

در ضمن Cast یک تابع نیست !!!
Cast به نسبت دادن یه شئ به شئ دیگر گفته میشه .

slr560
شنبه 18 مرداد 1393, 14:42 عصر
در ضمن Cast یک تابع نیست !!!
Cast به نسبت دادن یه شئ به شئ دیگر گفته میشه .

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

dasssnj
شنبه 18 مرداد 1393, 19:55 عصر
اولا منظور از نسبت دادن همون تبدیل کردن بود
دوما کی گفته تمام اشیا view هستن ؟ یعنی هیچ شی دیگه ای مثل اکتیویتی و فرگمنت و ... وکلی شئ دیگه که خودمون کلاسشو می نویسیم وجود نداره؟
تمام اشیا Object هستن.
کست فقط برای FindViewById انجام نمیشه و هزاران کلاس مختلف هستن که اگه از هم مشتق شده باشن و یا نسبتی بینشون باشه قابل کست کردن هستن.
میشه بگید توسط کدوم کلاس و کدوم توابع انجام میشه ؟ کست با دو تا پرانتز که نام شئ بینشونه انجام میشه . و محدود به کلاس یا تابع خاصی نیست .

شما ابتدا یه کتاب جاوا بخون بعد برای برنامه نویسی اندروید آماده میشی.

slr560
شنبه 18 مرداد 1393, 20:13 عصر
اولا منظور از نسبت دادن همون تبدیل کردن بود
دوما کی گفته تمام اشیا view هستن ؟ یعنی هیچ شی دیگه ای مثل اکتیویتی و فرگمنت و ... وکلی شئ دیگه که خودمون کلاسشو می نویسیم وجود نداره؟
تمام اشیا Object هستن.
کست فقط برای FindViewById انجام نمیشه و هزاران کلاس مختلف هستن که اگه از هم مشتق شده باشن و یا نسبتی بینشون باشه قابل کست کردن هستن.
میشه بگید توسط کدوم کلاس و کدوم توابع انجام میشه ؟ کست با دو تا پرانتز که نام شئ بینشونه انجام میشه . و محدود به کلاس یا تابع خاصی نیست .

شما ابتدا یه کتاب جاوا بخون بعد برای برنامه نویسی اندروید آماده میشی.

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

dasssnj
شنبه 18 مرداد 1393, 20:57 عصر
من قصد توهین نداشتم دوست عزیز فقط خواستم بگم برای ما که کد را می نویسیم دو تا پرانتزه و برای کامپایلر هر چیزی می خواد باشه .
من مدت های زیادیه جاوا و سی ++ کار می کنم و ده ها جلد کتاب انگلیسی و فارسی و ... خوندم .
بازم اگه ناراحت شدید معذزت اما اگه کتابی مربوط به شئ گرایی خونده باشید اولش نوشته :
Everything is an Object
نه :
Everything is a View

حالا اگه متد FindViewById یه شئ View بر می گردونه دلیل نمیشه همه چیز ویو باشه.

موفق باشید .

omid_cr77
شنبه 18 مرداد 1393, 22:44 عصر
اون سه تا تیکه گوشه سمت چپ رو تو linear layout گذاشته.سمت چپای پایینی هم همینطور.قسمت زرده هم یه view با background زرده.اون edit text و image پایینی هم تو یه linear layout جداست

akbar8298
شنبه 18 مرداد 1393, 22:56 عصر
تا اونجایی که من میدونم همه کلاس ها فرزند کلاس object هستند (ببخشید اگه اسپم شد)

abbasalim
شنبه 18 مرداد 1393, 23:31 عصر
سلام
منم با حرف های
slr560 (http://barnamenevis.org/member.php?182252-slr560)
موافقم
نمیتونه ربطی به لایه بندی داشته باشه.
یعنی چی تو cast گیر میکنه ؟ یعنی شما یه تکست ویو رو میخوای بجای ادیت باکس جا بزنی (یا برعکس) !

dasssnj
یک شنبه 19 مرداد 1393, 08:59 صبح
من که فکر می کنم باگه اکلیپسه چون بعضی وقتا کلا هنگ می کنه.
ما درست کست می کنیم . اکلیپس توی آی دی ها دچار مشکل میشه و آی دی های دکمه ها و ... با هم اشتباه میشن . برای همین توی کلاس جاوا ما یه تکست ویو را با آی دی خودش تعریف می کنیم ولی اون آی دی به یه چیز دیگه اشاره می کنه برای همین ارور کست میده.

majnoon110
یک شنبه 19 مرداد 1393, 11:14 صبح
من قبلا این مشکل رو داشتم گاهی که از relative استفاده می کردم داخل لاگ کت مینوشت که شما نمیتونید ادیت تکست را به باتن کست کنید .

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


dasssnj (http://barnamenevis.org/member.php?262850-dasssnj) گرامی یعنی با اون چیزی که گفتی، که عناصر رو یواش تر به صفحه اضافه کنیم و زود زود ذخیره کنیم مشکل حل میشه؟

harani
یک شنبه 19 مرداد 1393, 11:28 صبح
من قبلا این مشکل رو داشتم گاهی که از relative استفاده می کردم داخل لاگ کت مینوشت که شما نمیتونید ادیت تکست را به باتن کست کنید .

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


dasssnj (http://barnamenevis.org/member.php?262850-dasssnj) گرامی یعنی با اون چیزی که گفتی، که عناصر رو یواش تر به صفحه اضافه کنیم و زود زود ذخیره کنیم مشکل حل میشه؟

اگه به چنین مشکل غیر منطقی رسیدید (که عمل cast درست است ولی خطا گرفته میشود) همیشه پروژه رو clean کنید .

dasssnj
یک شنبه 19 مرداد 1393, 13:13 عصر
من قبلا این مشکل رو داشتم گاهی که از relative استفاده می کردم داخل لاگ کت مینوشت که شما نمیتونید ادیت تکست را به باتن کست کنید .

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


dasssnj (http://barnamenevis.org/member.php?262850-dasssnj) گرامی یعنی با اون چیزی که گفتی، که عناصر رو یواش تر به صفحه اضافه کنیم و زود زود ذخیره کنیم مشکل حل میشه؟

والا من با آزمون و خطا به این روش رسیدم
شما اگه خودت فایل xml را بنویسی این مشکل پیش نمیاد. یعنی کمتر از درگ و دراپ کردن استفاده کن.
یا از ایزار های دیگری به غیر از اکلیپس برای ساخت لی اوت ها استفاده کن.
اون دوستانی هم که میگن این مشکل غیر ممکنه باید بگم من چندین بار با این مشکل مواجه شدم و مربوط به همین کست هم میشده.