2013-06-01 11 views
5

Staram się naśladować styl tygodnia oficjalnej aplikacji na Androida. Czy wiesz, jakiego rodzaju widoki są używane w tej aplikacji? Czy są niestandardowe? RetStyl oficjalnego budzika z Androidem w stylu tygodnia:

Zobacz ten zrzut ekranu, aby wiedzieć, co mówię:

See this screenshot to know what I'm talking about

Ten zrzut ekranu jest częścią Alarm budzika. To, czego chcę, to część na czerwono, która wyświetla miły tydzień jako małe przyciski z nazwą i małym niebieskim/szarym paskiem w zależności od stanu przycisku.

Odpowiedz

11

Ok, aby odpowiedzieć sobie, możemy znaleźć kod źródłowy aplikacji tutaj: https://android.googlesource.com/platform/packages/apps/DeskClock/+/master/

A te przyciski są utworzone programowo (jak wspomniano tutaj: https://android.googlesource.com/platform/packages/apps/DeskClock/+/master/res/layout/alarm_time.xml), w ten sposób:

 holder.repeatDays = (LinearLayout) view.findViewById(R.id.repeat_days); 

     // Build button for each day. 
     for (int i = 0; i < 7; i++) { 
      final ViewGroup viewgroup = (ViewGroup) mFactory.inflate(R.layout.day_button, 
        holder.repeatDays, false); 
      final ToggleButton button = (ToggleButton) viewgroup.getChildAt(0); 
      final int dayToShowIndex = DAY_ORDER[i]; 
      button.setText(mShortWeekDayStrings[dayToShowIndex]); 
      button.setTextOn(mShortWeekDayStrings[dayToShowIndex]); 
      button.setTextOff(mShortWeekDayStrings[dayToShowIndex]); 
      button.setContentDescription(mLongWeekDayStrings[dayToShowIndex]); 
      holder.repeatDays.addView(viewgroup); 
      holder.dayButtons[i] = button; 
      holder.dayButtonParents[i] = viewgroup; 
     } 

aw R.layout.day_button:

<ToggleButton 
    android:layout_width="wrap_content" 
    android:layout_height="48dp" 
    android:layout_gravity="center" 
    android:padding="0dp" 
    style="@style/body" 
    android:textColor="@color/clock_gray" 
    android:background="@drawable/toggle_underline" 
    android:clickable="false" 
    android:singleLine="true"/> 

Tak, to tylko stylizowany ToggleButton

Mam nadzieję, że komuś pomoże!

-1

Wygląda na to, że 7 Button obiektów o różnych tło w przypadku stanów góra i dół.