تغییر view از حالت ثابت به حالت واکنشی

خرید بک لینک

اکنون ، view سفارشی شما دارنده اندازه اثبات میباشد ، طراحی سایت در مشهد ولی شما می خواهید واکنشی باشد و متناسب با اندازه والد خویش یا این که شیت تلفن همراه تغییر و تحول نماید. درضمن شما میخواهید که رخ خندان مدام به طور دایره باشد و با تغییر و تحول اندازه شیت به طور بیضی کشیده نشود.

اندروید پهنا و طول view را اندازه گیری می نماید. رایاپارس شما می توانید به این مقادیر از روش measuredWidth, measuredHeight دسترسی پیدا نمایید ahrefs  برای ارائه اندازه ظریف و کارآمد از view به اندروید سیاق onMeasure را درون  view بایستی override فرمایید:

override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {

super.onMeasure(widthMeasureSpec, heightMeasureSpec)
// 1
size = Math.min(measuredWidth, measuredHeight)
// 2
setMeasuredDimension(size, size)

}
توضیحات کد بالا:

ضلع کوچکتر view را پیدا می نماید.
با فراخوانی setMeasuredDimension(int, int) با دو آرگمان موازی برای پهنا و طول صورت view به طور مربع با ارتفاع و پهنا موازی میشود.
 

چنانچه نرم افزار را Build و اعمال فرمایید به طور پایین می شود:

ساخت و ساز صفات xml سفارشی گردیده
 

برای ساخت و ساز صفات نو (که بوسیله اندروید تعریف و تمجید نشده) باطن فولدر res/values فایلی با اسم دلخواه برای مثالً attrs.xml بسازید و کد پایین را به آن اضافه نمائید:

توضیحات کد بالا:

تگ declare-styleable گشوده میگردد که مقدار درون name آن موازی اسم کلاس view پیشنهاد گردیده ما میباشد.
خصوصیت های نو را با اسم های متفاوت اضافه می نماید و نوع آن ها را نیز به صورت مطلوب تهیه و تنظیم می نماید.
 

هم اکنون که این صفات را تعریف و تمجید کردید به پوشه res/layout/activity_main.xml  بروید و کد آن را به طور ذیل تغییر و تحول دهید:

android:id="@+id/happyButton"
android:layout_width="@dimen/face_button_dimen"
android:layout_height="@dimen/face_button_dimen"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
app:borderColor="@color/white"
app:eyesColor="@color/white"
app:faceColor="@color/red"
app:mouthColor="@color/white"
app:state="happy" />

android:id="@+id/sadButton"
android:layout_width="@dimen/face_button_dimen"
android:layout_height="@dimen/face_button_dimen"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
app:borderColor="@color/black"
app:eyesColor="@color/black"
app:faceColor="@color/light_grey"
app:mouthColor="@color/black"
app:state="sad" />
در کد بالا به صفات جدیدی که برای EmotionalFaceView به کار گیری نموده اید  نیز دقت فرمائید:

 borderColor, eyesColor, state, mouthColor,  faceColor 

در این کد از دو EmotionalFaceView  در پوشه layout به کار گیری کردید به این شکل از کدی که یک توشه نوشتید می توانید بارها به کار گیری نمائید.  به کارگیری دوباره از view های سفارشی گردیده یک کدام از فواید آن ها میباشد.

صورت اولیه موقعیت بشاش "state="happy  و رخ دوم وضعیت اندوهگین "state="sad  دارااست. از این دو رخ خرد به دنبال بجای دکمه برای تغییر و تحول وضعیت فیس بزرگتر که در اواسط تصویر جای دارد به کارگیری می کنیم.

مرجع پاسخ به سوالات طراحی سایت در مشهد...

ما را در سایت مرجع پاسخ به سوالات طراحی سایت در مشهد دنبال می‌کنید

برچسب: طراحی سایت در مشهد, نویسنده: علی سلطانی بازدید: 118 تاريخ: دوشنبه 16 آبان 1401 ساعت: 13:53

صفحه بندی