2017-09-16 11 views
-3

minSdkVersion15のため、私のアプリはAppCompatを使用していません。私はそれでsmart-app-rate libraryを使用したいが、私は(予想される)取得しています:AppCompatではないAppCompatライブラリの使用方法

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 

A)は本当の必要性とBが存在しないので、私はAPPCOMPATに私のアプリを変更することはできませんのでご注意ください)私がしなければ、私のアプリはそれがはるかに異なって見える。

私はライブラリをZIP形式でダウンロードしようとしましたが、AppCompatを使わないように変換しました。私はthis answerに記載されている手順を実行しましたが、エラー(例:ContextCompat.getColorのように、AppCompat以外の関数に置き換える必要があります)があります。これが正しい方法であるかどうかはわかりません。

どうすれば簡単に解決できますか?

+0

"あなたの最小SDKがXより大きい場合は、AppCompatを使用しないでください"というステートメントはありません。サポートコンポーネントは、開発者が特定のAPIレベルの要件をチェックする必要なく、要素とやりとりするための統一されたインターフェイスを提供するため、サポートライブラリを使用することをお勧めします(特に、APIに大きな欠点があるため、最小SDKが21未満の場合)。また、現在のアプリケーションテーマの親スタイルとして 'Theme.AppCompat'を定義すると、ルックアンドフィールが大幅に変更されます。あなたの現在のアプローチにはおそらく何か問題があります。 –

+0

@GergelyKőrössy、ありがとう。明らかに私はいくつかの知識が不足しており、読み上げが必要です。 AppCompatを使用するようにアプリケーションを変更すると、[これは違いです](https://i.imgur.com/aLCVaMJ.jpg)。それは本当に悪いように見え、スライダも欠けている。私のコードでさらに見ていくべきヒントはありますか? –

+0

どのようなコンポーネントがありますか? Appbarのテキストの色は、あなたの親として 'Theme.AppCompat.Light.DarkActionBar'を使って修正することができます。 –

答えて

1

が、今、私は(私は非APPCOMPAT機能を交換する必要があるだろうContextCompat.getColorのように、)エラーの全体の束を得る

ContextCompatappcompat-v7とは何の関係もありません。 ContextCompatsupport-compatに由来し、support-compatアーティファクトの使用を強くお勧めします。

これが正しい方法であるかどうかはわかりません。

あなたは単にライブラリを使用することはできません。それ以外の場合は、クロスポートしてappcompat-v7の使用を取り除くことしかできません。

+0

精巧に感謝します。私はこのライブラリが本当に好きなので、私のアプリに 'AppCompat'を使うように変更しました。 –

関連する問題