کلیدستان

نسخه‌ی کامل: مارجین دادن به عکس به صورت کدنویسی هنگام اجرای برنامه اندروید
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام، چگونه میشه به عکس هنگام اجرا مارجین داد به صورت کدنویسی یعنی این کد xml رو بصورت جاوا نوشت؟

کد پی‌اچ‌پی:
<ImageView 
android
:layout_margin="5dip" /> 

مارجین چپ - راست - بالا و پایین ؟
این کد رو براش نوشتم

 
کد پی‌اچ‌پی:
MarginLayoutParams marginParams = new MarginLayoutParams(imageview.getLayoutParams());
                
marginParams.setMargins(0050);
                
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(marginParams);
                
imageview.setLayoutParams(layoutParams); 

ولی این کد یه بار مارجین عکس رو تغییر میده، مثلأ اگر این کد رو داخل OnClickListener باتن قرار بدیم من میخوام با هربار زدن باتن عکس مثلأ به سمت راست حرکت کنه ممنون میشم راهنمایی کنید!

 
سلام.
در موضوع دیگری بیان کرده بودید که قصد دارید عکسی را مشابه انیمیشن حرکت دهید. فکر می کنم می خواهید این کار را با margin انجام بدهید.
ابتدا توصیه می کنم به بخش پروژه های اندروید مراجعه کنید و سعی کنید که از آنها، مورد مناسبی مشابه آنچه می خواهید را بیابید.
اما اگر قصد دارید که همین روش را اجرا کنید، باید متغیری را تعریف کنید که با هر بار زدن دکمه (Button)، مثلا 5 واحد (یا هر مقدار دلخواه دیگر) به آن اضافه شود (یا برای چند مختصات، چند متغیر تعریف کنید یا اینکه اصلا یک آرایه (Array) تعریف کنید). بنابراین با هر بار زدن دکمه، مقادیر متغیرها، مطابق یک الگوی خاص، کم یا زیاد می شوند و پس از آن، کد اعمال مقدار margin جدید به عنصر را خواهیم داشت.
البته باز هم توصیه می کنم در پروژه ها کمی جستجو کنید یا در پروژه هایی که در سایت های انگلیسی زبان موجود است. زیرا معمولا این موارد را با کدهای مربوط به انیمیشن اجرا می کنند. انیمیشن ها به صورت frame به frame هستند و می توان تعیین کرد که هر بار، یک frame خاص به آن اعمال شود. با دیدن پروژه های عملی، بهتر با این موارد آشنا می شوید.

(۱۳۹۳/۱۱/۱۰, ۱۰:۲۴ ب.ظ)'admin' نوشته: [ -> ]سلام.
در موضوع دیگری بیان کرده بودید که قصد دارید عکسی را مشابه انیمیشن حرکت دهید. فکر می کنم می خواهید این کار را با margin انجام بدهید.
ابتدا توصیه می کنم به بخش پروژه های اندروید مراجعه کنید و سعی کنید که از آنها، مورد مناسبی مشابه آنچه می خواهید را بیابید.
اما اگر قصد دارید که همین روش را اجرا کنید، باید متغیری را تعریف کنید که با هر بار زدن دکمه (Button)، مثلا 5 واحد (یا هر مقدار دلخواه دیگر) به آن اضافه شود (یا برای چند مختصات، چند متغیر تعریف کنید یا اینکه اصلا یک آرایه (Array) تعریف کنید). بنابراین با هر بار زدن دکمه، مقادیر متغیرها، مطابق یک الگوی خاص، کم یا زیاد می شوند و پس از آن، کد اعمال مقدار margin جدید به عنصر را خواهیم داشت.
البته باز هم توصیه می کنم در پروژه ها کمی جستجو کنید یا در پروژه هایی که در سایت های انگلیسی زبان موجود است. زیرا معمولا این موارد را با کدهای مربوط به انیمیشن اجرا می کنند. انیمیشن ها به صورت frame به frame هستند و می توان تعیین کرد که هر بار، یک frame خاص به آن اعمال شود. با دیدن پروژه های عملی، بهتر با این موارد آشنا می شوید.



 

 ممنون از راهنماییتون، متوجه منظورتون نشدم اگه ممکنه برا توضیحاتتون یه مثال بزنید، ممنون میشم 
در ضمن امکان مشاهده تمامی پروژه ها وجود نداره و از آنچه قابل مشاهده بود مورد مناسبی نیافتم !