Я хочу написать собственный стиль для горизонтального ProgressBar.Android: ссылка style parent
Если вы хотите добавить горизонтальную ProgressBar, он должен ссылаться на стиль системы, как это:
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Я написал пользовательский стиль для него, который добавляет некоторые родители, но так как уже есть ссылка стиль что придает ему горизонтальную форму, мне нужно унаследовать этот стиль системы.
Я пробовал так:
<style name="itemViewProgressBar" parent="@android:attr/progressBarStyleHorizontal">
<item name="android:paddingLeft">@dimen/ivProgressBarPaddingLeft</item>
<item name="android:paddingRight">@dimen/ivProgressBarPaddingRight</item>
<item name="android:paddingTop">@dimen/ivProgressBarPaddingTop</item>
<item name="android:paddingBottom">@dimen/ivProgressBarPaddingBottom</item>
</style>
И в ProgressBar я ссылаться так:
<ProgressBar
android:id="@+id/progressBar1"
style="@style/itemViewProgressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
XML-стиль не дает мне какие-либо ошибки, поэтому ссылка, кажется, работа хорошо. Но все же это не влияет на ProgressBar. Он выглядит так же, как я оставил атрибут parent
(т. Е. Он показывает круговой ProgressBar).
Я могу, конечно, определить все прокладки в самом элементе ProgressBar
и ссылаться на системный стиль в ProgressBar, как и по умолчанию. Но более элегантным способом должно быть использование пользовательского стиля, тем более, что мне нужно его повторно использовать довольно часто.
Любая идея о том, как я могу достичь, чтобы иметь как системный горизонтальный стиль ProgressBar, так и мои пользовательские paddings в пользовательском стиле?
То, что со старым стилем. Вы знаете, какой из них мне нужно использовать для стиля Holo? (Уровень API 13) – Terry