Проблема в реализации стиля рейтинговой панели Android - PullRequest
1 голос
/ 17 июля 2011

Я хочу сделать стиль для рейтинговой панели программно.Я прочитал этот урок Довольно рейтинговая строка

Я могу сделать layerList и селектор, и я могу связать их программно, но я не могу связать layerList, который я сделал с атрибутом style программно, поэтомуя могу установить атрибут style в конструкторе строки рейтинга с моим собственным стилем RatingBar rb=new RatingBar(getBaseContext(), null, defStyle);.

, чтобы создать собственную панель рейтинга. Мне нужно сделать следующее: -

1-make 2 xmls один длясостояние full_empty и еще одно для полностью пустого они оба включают селекторы, которые я сделал, например, для состояния fullFilled:

    StateListDrawable state_fullFilled = new StateListDrawable();
    state_fullFilled.addState(new int[] {android.R.attr.state_pressed},
        getResources().getDrawable(R.drawable.star_rated));
    state_fullFilled.addState(new int[] {android.R.attr.state_focused},
        getResources().getDrawable(R.drawable.star_rated));
    state_fullFilled.addState(new int[] {android.R.attr.state_selected },
        getResources().getDrawable(R.drawable.star_rated));

это для fullEmpty: -

        StateListDrawable state_fullEmpty = new StateListDrawable();
    state_fullEmpty.addState(new int[] {android.R.attr.state_pressed},
        getResources().getDrawable(R.drawable.rate));
    state_fullEmpty.addState(new int[] {android.R.attr.state_focused},
        getResources().getDrawable(R.drawable.rate));
    state_fullEmpty.addState(new int[] { android.R.attr.state_selected},
        getResources().getDrawable(R.drawable.rate));

2-затемдолжен составить layerList из тех рисованных объектов, которые я сделал следующим образом: -

Drawable[] d=new LayerDrawable[2];

    d[0]=state_fullEmpty;
    d[1]=state_fullFilled;
    LayerDrawable layer=new LayerDrawable(d);

3-я должен сделать этот шаг программно, но я не могу: -

<style name="foodRatingBar" parent="@android:style/Widget.RatingBar">
    <item name="android:progressDrawable">@drawable/food_ratingbar_full</item>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...