2016-06-24 12 views
0

私はViewPageIndicatorを使用しています。 ViewPageIndicatorスタイルファイルで提供されたテーマが私の好みに合わないと感じました。ViewPagerIndicatorのライブラリで定義されたテーマスタイルを参照するにはどうすればいいですか?

だから私はテーマファイルの宛先にいくつかの変更を加えるために私のニーズに合うように移動したいと思います。しかし、Android Studioのポップアップ通知によれば、宣言を見つけることができないという。

誰かがそれを修正する方法を知っていますか?

答えて

1

カスタムアプリテーマの特定のライブラリスタイルを参照して解決しました。あなたはsource code of ViewPageIndicator を見れば、あなたはインジケータのスタイルを上書きすることができますフックを参照してください。

  • をvpiIconPageIndicatorStyle
  • vpiCirclePageIndicatorStyle
  • ...

これらは、ウィジェットのスタイルへの基本的な参照です。たとえば、CirclePageIndicatorの場合は、ウィジェットテーマを拡張し、vpiCirclePageIndicatorStyleにリンクする必要があります。次に、すべてのWidgetプロパティと、カスタムCirclePageIndicatorプロパティ(attributes)を設定できます。 ViewPagerindicatorに関する

私のテーマファイル(のstyles.xml):

<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="vpiCirclePageIndicatorStyle">@style/Widget.CirclePageIndicator</item> 
    ... 
</style> 

<style name="Widget.CirclePageIndicator" parent="Widget"> 
    <item name="android:layout_marginBottom">10dp</item> 
    <item name="android:layout_marginTop">5dp</item> 
    <item name="android:padding">3dp</item> 
    <item name="fillColor">@color/borders</item> 
    <item name="gapWidth">@dimen/view_pager_circle_page_indicator_gap</item> 
    <item name="radius">@dimen/view_pager_circle_page_indicator_radius</item> 
    <item name="strokeColor">@color/borders</item> 
    <item name="strokeWidth">@dimen/view_pager_circle_page_indicator_stroke</item> 
</style> 

とレイアウトXMLでは、スタイル= "@スタイル/ ..."プロパティを指定する必要はありません。

<com.viewpagerindicator.CirclePageIndicator
  android:id="@+id/pagerIndicator"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"/> 

最終結果:**私はあなたの手順に従うことを望んでいたが、私は**エキスリソースボタンを見つけることができませんenter image description here

+0

同じ方法で解決しました。唯一の違いは、リソースを直接オーバーライドするためのアクセス権を提供するボタンをクリックしたことですが、コピー、貼り付け、変更を手動で行いました。ライブラリファイルをオーバーライドするためのボタンはどこにありますか? –

0

この質問に対する回答が見つかりました。 Android提供のデザインツールを使用して、プロジェクトに存在するテーマファイルを見つけることができます。最初にレイアウトファイルのいずれかを開き、デザインビューに切り替えます。次に、見たいテーマのレイアウトを選択し、リソースの抽出ボタンをクリックしてリソースを抽出し、リソースの名前を作成します。それが終わったら、ちょうどあなたが書いたスタイルがあなたのスタイルファイルに現れます。しかし今、このスタイルファイルはオリジナルのライブラリファイルを指しているので、私たちはそれを見ることはできますが、変更はできません。私たちが読むことができる限り、それをコピーして別の場所に貼り付けることができます。したがって、作成したファイルを貼り付けるためにコード内をコピーする必要があります(ファイル名は元のファイル名と同じであってはなりません)。解決策は、すべての元のファイルに最初にアクセスし、コピーして新しいファイルに貼り付けます。次に作成したファイルにあなたのテーマを紹介しました。また、いつでもどこでも作成したファイルを自由に変更することができます。 enter image description here

+0

申し訳ありません。あなたはスクリーンショットを作りますか? – RenatoIvancic

関連する問題