כיצד אפשר לשנות צבעו של כפתור כאשר העכבר עומד עליו?
0חני פולק · 26 ינו׳ 2020 · נערך: 26 ינו׳ 2020ב-XML של אנדרואיד יש אפשרות של יצירת תצוגות שונות למצבים שונים.איך עושים זאת?1. בתקיית ה-drawable יוצרים את קבצי התצוגה (ניתן ליצור כל דבר כולל גרדיאנט)gradient.xml<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <bitmap android:src="@drawable/YOURIMAGE"/> </item> <item> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:angle="90" android:startColor="#880f0f10" android:centerColor="#880d0d0f" android:endColor="#885d5d5e"/> </shape> </item> </layer-list>2. יוצרים את תצוגת הכפתור שתלויה בכל מצב (יש המון מצבים ואפשר להוסיף הכל)button.xml<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/YOURIMAGE" /> <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/gradient" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/gradient" /> <item android:drawable="@drawable/YOURIMAGE" /> </selector>3. מוסיפים לכפתור את הרקע"android:background="@drawable/button"שימי לב:בהגדרה כזו של כל מצבי הכפתור תוכלי דרך הקוד (JAVA) לשנות את המראה של הכפתור לפי מה שתרצי, כמו לעשות אותו enabled או כל אופציה אחרת...בהצלחה!
3Shifi fedder23 ינו׳ 2020באיזה סביבת עבודה את עובדת?android studio?את בונה אפליקציה לפלאפון? כי אם כן אז יש מגע של אצבע לא עכבר
2נעמי26 ינו׳ 2020חני תודה על תשובתך,אשמח אפ תפרטי קצת יותר מה הכוונה-"תצוגה שתלויה בכל המצבים"היכן מגדירים זאת?וכיצד?
1חני פולק27 ינו׳ 2020 · נערך: 27 ינו׳ 2020בשמחה!שימי לב לbutton.xml. תוציאי את זה לתוך הXML שלך זה יראה לך יותר נורמאלי.ממה מורכב הXML?יש את ה- Selectore - האבא של העיצוב. בתוכו יש פריטים (item) כאשר כל פריט הוא מופע של מצב אחר לפי מה שהוא מוגדר ואחד בלי שום מצב (האחרון במקרה שלמעלה), שהוא ברירת המחדל.כל item מגדיר את העיצוב שלו (android:drawable="@drawable/gradient") ועבור מה הוא מייצג. כמו android:state_focusedאח"כ את יכולה בקוד הגאבה לומר לו focused או משהו כזה ואז הוא יציג לך את העיצוב. כמו כן, נניח שמדובר בEditText כשיהיה ארוע של פוקוס התצוגה תשתנה.כאן המקום גם להוסיף שהוספת התצוגה היא לכל מיני סוגי פקדים ולא רק כפתור.תעמדי בXML ותראי את כל האופציות שיש לך.בהצלחה!
1chaya172430 ינו׳ 2020<bitmap android:src="@drawable/YOURIMAGE"/>חני. מה זה ה bitmap שלך תמונה כלשהיא שהיא הרקע לכפתור?
1חני פולק30 ינו׳ 2020המילה YOURIMAGE מייצגת כל תמונה שאת רוצה לקשר.....שימי תמונה או אייקון או קובץ drawable בתקיה המתאימה ובמקום המילה YOURIMAGE תכניסי את הקישור שלה...
1chaya172430 ינו׳ 2020האם יכול להיות שהוא לא משנה את הצבע כשאני עולה על הכפתור מפני שאני עושה את זה דרך העכבר של המחשב. כי כשאני לוחצת עליו הוא כן משנה ואין לו שגיאה אחרת כלשהיא. האם ידוע לך על כזה דבר?
1chaya172430 ינו׳ 2020איפה אני מגדירה את הפונקצייה של הנגיעה? ואיך אני יכולה לבדוק באמולטור שלי אם זה עובד?
1chaya172430 ינו׳ 2020בסה"כ השתמשתי עם הקוד הזה: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/black"/> <!-- pressed --> <item android:state_focused="true" android:drawable="@color/white"/> <!-- focused --> <item android:drawable="@color/white"/> <!-- default --> </selector>
1חני פולק30 ינו׳ 2020פוקוס טוב במצבים כמו טקסט, כשהמשתמש מתמקד בשדה הטקסט, אז נניח משים לו מסגרת סביב השדה או משהו כזה, לא על כפתור...
ב-XML של אנדרואיד יש אפשרות של יצירת תצוגות שונות למצבים שונים.
איך עושים זאת?
1. בתקיית ה-drawable יוצרים את קבצי התצוגה (ניתן ליצור כל דבר כולל גרדיאנט)
gradient.xml
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <bitmap android:src="@drawable/YOURIMAGE"/> </item> <item> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:angle="90" android:startColor="#880f0f10" android:centerColor="#880d0d0f" android:endColor="#885d5d5e"/> </shape> </item> </layer-list>
2. יוצרים את תצוגת הכפתור שתלויה בכל מצב (יש המון מצבים ואפשר להוסיף הכל)
button.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/YOURIMAGE" /> <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/gradient" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/gradient" /> <item android:drawable="@drawable/YOURIMAGE" /> </selector>
3. מוסיפים לכפתור את הרקע
"android:background="@drawable/button"
שימי לב:
בהגדרה כזו של כל מצבי הכפתור תוכלי דרך הקוד (JAVA) לשנות את המראה של הכפתור לפי מה שתרצי, כמו לעשות אותו enabled או כל אופציה אחרת...
בהצלחה!
באיזה סביבת עבודה את עובדת?
android studio?
את בונה אפליקציה לפלאפון? כי אם כן אז יש מגע של אצבע לא עכבר
חני תודה על תשובתך,
אשמח אפ תפרטי קצת יותר מה הכוונה-"תצוגה שתלויה בכל המצבים"
היכן מגדירים זאת?וכיצד?
אפליקציה לפלאפון,
סליחה בנגיעת אצבע!
בשמחה!
שימי לב לbutton.xml. תוציאי את זה לתוך הXML שלך זה יראה לך יותר נורמאלי.
ממה מורכב הXML?
יש את ה- Selectore - האבא של העיצוב.
בתוכו יש פריטים (item) כאשר כל פריט הוא מופע של מצב אחר לפי מה שהוא מוגדר ואחד בלי שום מצב (האחרון במקרה שלמעלה), שהוא ברירת המחדל.
כל item מגדיר את העיצוב שלו (android:drawable="@drawable/gradient") ועבור מה הוא מייצג. כמו android:state_focused
אח"כ את יכולה בקוד הגאבה לומר לו focused או משהו כזה ואז הוא יציג לך את העיצוב. כמו כן, נניח שמדובר בEditText כשיהיה ארוע של פוקוס התצוגה תשתנה.
כאן המקום גם להוסיף שהוספת התצוגה היא לכל מיני סוגי פקדים ולא רק כפתור.
תעמדי בXML ותראי את כל האופציות שיש לך.
בהצלחה!
<bitmap android:src="@drawable/YOURIMAGE"/>
חני. מה זה ה bitmap שלך תמונה כלשהיא שהיא הרקע לכפתור?
המילה YOURIMAGE מייצגת כל תמונה שאת רוצה לקשר.....
שימי תמונה או אייקון או קובץ drawable בתקיה המתאימה ובמקום המילה YOURIMAGE תכניסי את הקישור שלה...
האם יכול להיות שהוא לא משנה את הצבע כשאני עולה על הכפתור מפני שאני עושה את זה דרך העכבר של המחשב. כי כשאני לוחצת עליו הוא כן משנה ואין לו שגיאה אחרת כלשהיא. האם ידוע לך על כזה דבר?
באנדאוריד לא משתמשים בפונקציה של מעבר עכבר כי אין עכבר אלא רק נגיעה, לא?!
איפה אני מגדירה את הפונקצייה של הנגיעה? ואיך אני יכולה לבדוק באמולטור שלי אם זה עובד?
בסה"כ השתמשתי עם הקוד הזה: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/black"/> <!-- pressed --> <item android:state_focused="true" android:drawable="@color/white"/> <!-- focused --> <item android:drawable="@color/white"/> <!-- default --> </selector>
pressed - עובד
focused - לא עובד
פוקוס טוב במצבים כמו טקסט, כשהמשתמש מתמקד בשדה הטקסט, אז נניח משים לו מסגרת סביב השדה או משהו כזה, לא על כפתור...