رفتن به مطلب

کتابخانه ShPopUpMenu(با قابلیت تغییر فونت هر آیتم)


Salar82

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

سلام

کتاب‌خونه‌ای که براتون آماده کردم، ShPopupMenu هست؛ که می‌تونید فونت متن(Title) هر آیتم رو به دلخواه تغییر بدید.

امیدوارم براتون مفید باشه.

Screenshot_2020_03_18_23_58_38.png  Screenshot_2020_03_18_23_56_48.pngScreenshot_2020_03_19_03_13_26.png

 

لینک کتابخونه V1.2

 

نمونه کد:

Sub Globals
	Dim popup As ShPopupMenu
    
    Private Button1 As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("LMain")

	popup.Initialize(Me , "EVENTNAME" , Button1)

    popup.AddMenuItem(1 , "قابلیت تغییر" , Typeface.LoadFromAssets("IranNastaliq.ttf"))
    popup.AddMenuItem(2 , "فونت هر " , Typeface.LoadFromAssets("BNaznnBd.ttf"))
    popup.AddMenuItem(3 , "آیتم با" , Typeface.LoadFromAssets("BTitrBd.ttf"))
    popup.AddMenuItem(4 , "کتاب خانه" , Typeface.LoadFromAssets("tanha.ttf"))
    popup.AddMenuItem(5 , "SHPopupMenu" , Typeface.LoadFromAssets("timesi.ttf"))
End Sub

Sub Button1_Click
	popup.Show
End Sub

 

و یه رویداد آیتم کلیک هم داره که ItemId رو برمی‌گردونه:

 

Sub EVENTNAME_MenuItemClick (ItemId As Int) As Boolean
	Log(ItemId)
End Sub

 

برای تغییر رنگ بکگراند و متن باید کدهای زیر رو به منیفست اضافه و جایگزین خط SetApplicationAttribute(android:theme, "@android:style/Theme.Holo") کنیم: (باید از کاستوم تم استفاده کنیم)

 

SetApplicationAttribute(android:theme ,"@style/MyAppTheme")



CreateResource(values, theme.xml,
<resources>
    <style name="MyAppTheme" parent="Theme.AppCompat.Light">
		<item name="textAppearanceLargePopupMenu">@style/myPopupMenuTextAppearanceLarge</item>
    	<item name="android:textAppearanceLargePopupMenu">@style/myPopupMenuTextAppearanceLarge</item>
	    <item name="textAppearanceSmallPopupMenu">@style/myPopupMenuTextAppearanceSmall</item>
    	<item name="android:textAppearanceSmallPopupMenu">@style/myPopupMenuTextAppearanceSmall</item>
    	<item name="popupMenuStyle">@style/myPopupMenuStyle</item>
    	<item name="android:popupMenuStyle">@style/myPopupMenuStyle</item>
    </style>
	
	<style name="myPopupMenuStyle" parent="@style/Widget.AppCompat.Light.PopupMenu">
		<item name="android:popupBackground">#FF0AECD3</item>
	</style>
	<style name="myPopupMenuTextAppearanceSmall" parent="@style/TextAppearance.AppCompat.Light.Widget.PopupMenu.Small">
	    <item name="android:textColor">#FF0000</item>
	</style>
	<style name="myPopupMenuTextAppearanceLarge" parent="@style/TextAppearance.AppCompat.Light.Widget.PopupMenu.Large">
	    <item name="android:textColor">#FF0000</item>
	</style>
</resources>
)

در خط <item name="android:popupBackground">#FF0AECD3</item> ، عبارت #FF0AECD3 کد رنگ بکگراند رو مشخص میکنه

و دو خط بعدی که مثل هم هستن، <item name="android:textColor">#FF0000</item> کد رنگ متن رو مشخص می کنه

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

بک گراندش همون تم برنامه هست.

در هم اکنون، basic 4 android گفته است :

اگر میشه قابلیت اضافه کردن آیکون به اول و آخر هم اضافه کنید ممنون میشم و بشه رنگ هر آیتم رو تغییر داد بکگراندش رو 

چشم

:53::53::53:

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

در هم اکنون، basic 4 android گفته است :

اگر میشه قابلیت اضافه کردن آیکون به اول و آخر هم اضافه کنید ممنون میشم و بشه رنگ هر آیتم رو تغییر داد بکگراندش رو 

Screenshot_2020_03_19_03_13_26.png

برای تغییر رنگ بکگراند و متن باید کدهای زیر رو به منیفست اضافه و جایگزین خط SetApplicationAttribute(android:theme, "@android:style/Theme.Holo") کنیم: (باید از کاستوم تم استفاده کنیم)

 

SetApplicationAttribute(android:theme ,"@style/MyAppTheme")



CreateResource(values, theme.xml,
<resources>
    <style name="MyAppTheme" parent="Theme.AppCompat.Light">
		<item name="textAppearanceLargePopupMenu">@style/myPopupMenuTextAppearanceLarge</item>
    	<item name="android:textAppearanceLargePopupMenu">@style/myPopupMenuTextAppearanceLarge</item>
	    <item name="textAppearanceSmallPopupMenu">@style/myPopupMenuTextAppearanceSmall</item>
    	<item name="android:textAppearanceSmallPopupMenu">@style/myPopupMenuTextAppearanceSmall</item>
    	<item name="popupMenuStyle">@style/myPopupMenuStyle</item>
    	<item name="android:popupMenuStyle">@style/myPopupMenuStyle</item>
    </style>
	
	<style name="myPopupMenuStyle" parent="@style/Widget.AppCompat.Light.PopupMenu">
		<item name="android:popupBackground">#FF0AECD3</item>
	</style>
	<style name="myPopupMenuTextAppearanceSmall" parent="@style/TextAppearance.AppCompat.Light.Widget.PopupMenu.Small">
	    <item name="android:textColor">#FF0000</item>
	</style>
	<style name="myPopupMenuTextAppearanceLarge" parent="@style/TextAppearance.AppCompat.Light.Widget.PopupMenu.Large">
	    <item name="android:textColor">#FF0000</item>
	</style>
</resources>
)

در خط <item name="android:popupBackground">#FF0AECD3</item> ، عبارت #FF0AECD3 کد رنگ بکگراند رو مشخص میکنه.

و دو خط بعدی که مثل هم هستن، <item name="android:textColor">#FF0000</item> کد رنگ متن رو مشخص می کنه.

 

لینک کتابخونه V1.2

 

در هم اکنون، basic 4 android گفته است :

اگر میشه قابلیت اضافه کردن آیکون به اول و آخر هم اضافه کنید ممنون میشم و بشه رنگ هر آیتم رو تغییر داد بکگراندش رو 

فقط برای اضافه کردن آیکون، راهش اینه که از فونت‌های FontAwesome  و Materialicons استفاده کنید.

شرمنده ...

:53::53::53::53::53:

 

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

در 2 ساعت قبل، basic 4 android گفته است :

ممنون من منظورم این بود که هر لاین رو بتونیم رنگش رو عوض کنیم نمیشه 

دارم رو یه کتابخونه جدید کار می‌کنم.

ان شاءالله تا چند هفته آینده آماده میشه.

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

بایگانی شده

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

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

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