Web開発を行うときに、要素を検査して、どのクラスがどのCSSルールを提供しているかを確認できます。 Android開発用に同等のものはありますか?Androidスタイル継承の問題をデバッグするにはどうすればよいですか?
TLDR;私が持っていたスタイル継承の問題の例を次に示します。
ダイアログにはホロのテーマがありますが、テキストの色を白に設定しようとしても、テキストの色は暗かったです。
これはダイアログのレイアウトである:それは私がそのActivity
ListActivity
だった、そしてそれはgetViewメソッドを定義し、Fragment
を使用していたことが判明
<style name="Theme.Dialog" parent="android:style/Theme.Holo.Dialog">
<item name="android:windowTitleStyle">@android:style/TextAppearance.Large</item>
<item name="android:textColor">@color/solid_white</item>
<item name="android:windowNoTitle">true</item>
</style>
:style.xml
リソースで
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Theme.Dialog"/>
</RelativeLayout>
テキストの色を暗く設定するxmlスタイルのビューを作成しました。それは、テキストの色を設定していたものを見たいと思ったでしょう。
なぜダイアログテーマを 'ListView'に適用していますか?それはダイアログのように見えますか? – Ahmad
はい、奇妙な点は、リストビューの要素を選択すると、同じダイアログクラスの別のインスタンスになりますが、Holoスタイルがそのダイアログボックスに正しく表示されるということです。 –
私は実行時にビュースタイルを検査するためのツールは認識していませんが、ダイアログテーマをListviewに適用しないでください。ダイアログは、setStyle()メソッドを介してコンストラクタとDialogFragmentを介してスタイル可能です。 – Krylez