انجمن سایت کلیدستان



سوال در رابطه با کلید شماره 2903 (در برنامه نویسی اندروید)زمان کنونی: ۱۳۹۵/۰۹/۱۹، ۱۲:۱۴ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: omidn1996
آخرین ارسال: omidn1996
پاسخ 9
بازدید 1433

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سوال در رابطه با کلید شماره 2903 (در برنامه نویسی اندروید)

سوال در رابطه با کلید شماره 2903 (در برنامه نویسی اندروید)

#1
سلام دوستان

من فکر میکنم توی کلید شماره 2903 یه مشکلی وجود داره (شاید هم من بد اجرا کردم)

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

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

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

سوال در رابطه با کلید شماره 2903 (در برنامه نویسی اندروید)

#2
(۱۳۹۴/۰۴/۲۰, ۰۲:۱۰ ق.ظ)'omidn1996' نوشته: سلام دوستان
من فکر میکنم توی کلید شماره 2903 یه مشکلی وجود داره (شاید هم من بد اجرا کردم)
توی این کلید من فکر میکنم که دکمه در وسط عکس قرار نمیگیره بلکه در وسط صفحه ی نمایش قرار میگیره و چون خود عکس هم در وسط صفحه ی نمایش هست اتفاقا مرکز دکمه و عکس یکی میشه
در واقع اگر عکس رو جا به جا کنیم به بالاتر متوجه میشیم که دیگه دکمه وسط عکس نیست

 

با سلام .
در کلید فوق( کلید 2903 ) اگه به پارامترهای ImageView دقت کنید در رابطه با طول و عرضش موارد زیر تعریف شده :

کد پی‌اچ‌پی:
android:layout_width="match_parent"
android:layout_height="match_parent" 

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

کد پی‌اچ‌پی:
android:layout_width="match_parent"
 
android:layout_height="match_parent" 

نتیجه گیری : در مثال ذکر شده در کلید 2903 مرکز ImageView همان مرکز RelativeLayout و مرکز RelativeLayout همان مرکز صفحه نمایش خواهد بود .
بنابراین وقتی شما Button را در مرکز ImageView قرار می دهید ، انگار همزمان آن را در مرکز صفحه نمایش نیز قرار داده اید ، اما این به این معنی نیست که Button در مرکز ImageView قرار نگرفته است . به خاطر همین موضوع است که همچین سوء تفاهمی واسه شما پیش آمده است .

راه حل : برای اینکه از صحت کلید 2903 مطمئن شوید می توانید طول و عرض ImageView را کمتر از میزان طول و عرض صفحه نمایش خود بر حسب واحد dp تعریف کنید و سپس بر اساس همان دستورالعمل کلید فوق Button را در مرکز ImageView قرار بدهید . در صورت صحیح بودن کلید فوق مشاهده خواهید کرد که Button به درستی در مرکز ImageView قرار خواهد گرفت و نه در مرکز صفحه نمایش .

موفق باشید .
 *** بحث نکن ، به فکر راه حل باش  ***
پاسخ
 سپاس شده توسط omidn1996 ، admin

سوال در رابطه با کلید شماره 2903 (در برنامه نویسی اندروید)

#3
تشکر فراوان از پاسخ شما

اما الان اگر من نخوام مرکز ایمیج ویو رو با مرکز کل صفحه یکی قرار بدم باید چه کار کنم؟

به فرض من میخوام شکلی شبیه به شکل زیر درست کنم که ستاره بر روی مستطیل قرار بگیره (و البته نه الزاما وسط اون بلکه سمت چپ یا راست)

   
 

 
پاسخ

سوال در رابطه با کلید شماره 2903 (در برنامه نویسی اندروید)

#4
(۱۳۹۴/۰۴/۲۱, ۰۱:۲۹ ق.ظ)'omidn1996' نوشته: تشکر فراوان از پاسخ شما

اما الان اگر من نخوام مرکز ایمیج ویو رو با مرکز کل صفحه یکی قرار بدم باید چه کار کنم؟

به فرض من میخوام شکلی شبیه به شکل زیر درست کنم که ستاره بر روی مستطیل قرار بگیره (و البته نه الزاما وسط اون بلکه سمت چپ یا راست)
با

 

با سلام .

تحلیل شکل : اگه درست متوجه شده باشم شما یک ImageView دارین که با کد هگزادسیمال (00F#) بک گراند اون رو آبی کردین و بعد اون عکس ستاره رو توی ImageView نشون دادین .(مشخص نکردین اون ستاره چه عنصری هست : دکمه یا ... پس من اون رو یه عکس که تو ImageView نشون دادین در نظر می گیرم. )

 توضیح اولیه : در حالت پیش فرض درImageView برای نمایش عکس ها  پارامتر scaleType به صورت زیر تعریف شده است :


کد پی‌اچ‌پی:
android:scaleType="fitCenter" /> 

به عبارتی عکس ها در مرکز ImageView نمایش داده می شوند .

راه حل :

برای اینکه عکس مورد نظر شما در سمت چپ ImageView نمایش داده بشه ، درون کد  Xml ایمیج ویو مقدار زیر رو تعریف می کنیم :


کد پی‌اچ‌پی:
android:scaleType="fitStart" /> 

و برای اینکه عکس مورد نظر شما در سمت راست ImageView نمایش داده بشه ، درون کد  Xml ایمیج ویو مقدار زیر رو تعریف می کنیم :

کد پی‌اچ‌پی:
android:scaleType="fitEnd" /> 

موفق باشید .
 *** بحث نکن ، به فکر راه حل باش  ***
پاسخ
 سپاس شده توسط omidn1996 ، admin

سوال در رابطه با کلید شماره 2903 (در برنامه نویسی اندروید)

#5
متشکر

اما نه سوال من چیز دیگه ست بد توضیح دادم

این تصویر دوتا ایمیج ویو هستش ، اون قسمت آبی خودش یک ایمیج ویو هستش (حالا اینجا ساده ست میشه با رنگ پس زمینه درستش کرد ولی توی ورژن اصلی خودش یک عکس مجزا هستش) و اون ستاره یک ایمیج ویو دیگه هستش

در واقع میخوام یک ایمیج ویو رو (ستاره) روی یک ایمیج ویوی دیگه (بخش آبی) قرار بدم و در سمت چپ اون

ممنون میشم راهنمایی بفرمایید
پاسخ

سوال در رابطه با کلید شماره 2903 (در برنامه نویسی اندروید)

#6
(۱۳۹۴/۰۴/۲۱, ۰۱:۴۱ ب.ظ)'omidn1996' نوشته: در واقع میخوام یک ایمیج ویو رو (ستاره) روی یک ایمیج ویوی دیگه (بخش آبی) قرار بدم و در سمت چپ اون
 

با سلام .

برای این کار دقیقا می توانید همانند کلید 2903 می توانید عمل کنید ، تنها تفاوت در این است که شما به جای Button موجود در کلید 2903 یک ImageView قرار میدین (همان ایمیج ویویی که داخلش عکس ستاره رو نشون میدین ) .
و برای اینکه عکس ستاره در سمت چپ ایمیج ویو زمینه (ایمیج ویو به رنگ آبی ) قرار بگیره از کد زیر باید درون کدهای Xml ایمیج ویو (شامل عکس ستاره) استفاده کنید :

کد پی‌اچ‌پی:
android:layout_alignParentLeft="true" 

و برای اینکه در سمت راست قرار بگیره می توانید از کد زیر استفاده کنید :

کد پی‌اچ‌پی:
android:layout_alignParentRight="true" 

اگه احیاناً نیاز به این داشتین که ایمیج ویو عکس ستاره نسبت به پس زمینه ش (ایمیج ویو آبی ) از چپ و راست و یا بالا و پایین حاشیه داشته باشه می توانید از margin برای ایمیج ویو عکس ستاره بر حسب واحد dp استفاده کنید .

موفق باشید .
 *** بحث نکن ، به فکر راه حل باش  ***
پاسخ
 سپاس شده توسط admin ، omidn1996

سوال در رابطه با کلید شماره 2903 (در برنامه نویسی اندروید)

#7
خوب دوست عزیز من که مشکل رو توی پست اول عرص کردم

مشکل اینه کلا ایمیج ویوی دوم وسط ایمیج ویوی اول قرار نمیگیره

وسط parent قرار میگیره که parent هم در واقع همون Relativelayout هستش

در واقع توی این کلید آموزشی به صورت اتفاقی (چون مرکز ایمیج ویو و ریلیتیو لیوت یکی بوده) وسط ایمیج ویو قرار گرفته

ممنون میشم راهنمایی بفرمایید
پاسخ

سوال در رابطه با کلید شماره 2903 (در برنامه نویسی اندروید)

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

کافیه برای تصویر آبی رنگ یک LinearLayout قرار بدید یا هر گونه ی دیگر. بعد داخل این LinearLayout ،ایمیج ویو خودتون درسمت چپ parent (که در این جا LinearLayout) قرار دهید.یا مرکز یا هرپوزیشن دیگر..

به طور خلاصه :ساختار کلی میشه   یک Layout  اصلی که دارید..یک LinearLayout دیگر درون اون قرار بدید..بعد داخل این Layout ایمیج خودتون قرار بدید.
پاسخ
 سپاس شده توسط omidn1996

سوال در رابطه با کلید شماره 2903 (در برنامه نویسی اندروید)

#9
(۱۳۹۴/۰۴/۲۸, ۰۲:۲۸ ق.ظ)'داش بهروز' نوشته: دوست عزیز من نمیدونم چرا شما میخواید یک ایمیج ویو رو حتما در درون دیگری قرار بدهید.

کافیه برای تصویر آبی رنگ یک LinearLayout قرار بدید یا هر گونه ی دیگر. بعد داخل این LinearLayout ،ایمیج ویو خودتون درسمت چپ parent (که در این جا LinearLayout) قرار دهید.یا مرکز یا هرپوزیشن دیگر..

به طور خلاصه :ساختار کلی میشه   یک Layout  اصلی که دارید..یک LinearLayout دیگر درون اون قرار بدید..بعد داخل این Layout ایمیج خودتون قرار بدید.

 



خوب من میخوام setonclicklistener برای هر دو ایمیج ویو فعال باشه

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


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)