4

最近、Android アプリの開発を開始しました。私はプログラミング初心者ではありません。2009 年から Java でプログラミングを行っていますが、これが初めての Android アプリです。背景色を設定する方法についていくつかのチュートリアルに従ってみましたが、うまくいきません。私は自分が間違っていることを理解できません。

私のレイアウト ディレクトリには、main.xml と view_fact.xml という名前のファイルがあります。どちらも線形レイアウトを使用しており、私の LinearLayout タグは次のとおりです。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/background_grey"
>

そして、私の「値」ディレクトリでは、「strings.xml」の内容は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Facts</string>
<color name="background_grey">#E8E8E8</color>
</resources>

ただし、背景色はデフォルトの黒から変更されていません。

また、「android:theme="@android:style/Theme.Light"」を AndroidManifest.xml ファイルに追加しようとしました。

これはどれも機能していません。何か提案はありますか?

ありがとうございました。

私の view_fact.xml ページでは、次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/background_grey"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Fact:"
android:padding="10dp"
android:textColor="#080808"
/>

<TextView 
android:id="@+id/factData"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text=""
/>
<Button
android:id="@+id/anotherFactButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Another Fact"/>
</LinearLayout>

興味深いのは、「factData」のテキストが灰色で、上のテキスト ビューのテキスト「Fact:」が白で、色を赤に変更しようとしてもうまくいかないことです。白いままです。

助言がありますか?私はまだこれを機能させることができていません。ありがとうございました。

4

4 に答える 4

0

やや明白な質問を許してください。ただし、Activity onCreate で setContentView(R.layout.main) を呼び出していますか? LinearLayout を塗りつぶし、背景の灰色を覆っているレイアウトに何か他のものがありますか?

于 2012-09-24T21:02:51.303 に答える
0

@color/ color_nameを使用する場合は、Color.xml ファイルを作成する必要があります。そうすれば、使用しようとした方法でアクセスできるようになります。

于 2012-09-24T20:29:27.897 に答える
-1

コメントでリンクしたパスティを見ると、最初の行を削除する必要があると思います<?xml version="1.0" encoding="utf-8"?>。Eclipseは、そのxmlルートをレイアウトに使用して新しく作成されたアプリをビルドしません。

これは奇妙なことですが、Android Developerサイトで見つけた最初の2つの例(たとえば)にはそれが含まれています

その行を削除するとどうなるか興味があります...


Eclipseで使用する場合

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#E8E8E8"
>

その後、背景色が変わります。

これをに変更すると

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@string/background_grey"
>

<string name="background_grey">#E8E8E8</string>/res/values/strings.xmlに追加することにより、背景が変更されます。

これandroid:background="@color/background_grey"は、レイアウトと<color name="background_grey">#E8E8E8</color> strings.xmlのように宣言した場合にも機能します

res / values / colors.xml <=を設定した場合(color.xmlを使用している間)colors.xmlを使用しましたが、http: //developer.android.com/guide/topics/resources/more-resources .htmlは、strings.xmlファイルで機能する宣言からわかるように、ファイル名が任意であることを示しています。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="background_grey">#E8E8E8</color>
</resources>

レイアウトを次のように宣言します

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/background_grey"
>

その後、背景も変化します...

同じように動作しない場合は、何かファンキーなことが起こっているか、上記の単純な例とは異なるレイアウトを使用しています。まあ、そのレイアウトで何かファンキーなことが起こっています。

于 2012-09-24T21:57:54.060 に答える
-1

さて、背景色を設定するためにさまざまな方法を試しましたが、どれも機能していません。そして、テキストが更新されないという問題が発生しています。せっかくなのでリメイクしてみます。まだ問題がある場合は、日食を使用して病気になり、新しい質問をします。提案をありがとう。

于 2012-09-27T21:29:21.523 に答える