मेरे ऐप के उपयोगकर्ता को एक संकेत है कि वर्तमान में किस क्षेत्र में फोकस है, मैं वर्तमान स्थिति के आधार पर अपने कुछ क्षेत्रों के पृष्ठभूमि रंग को बदलने की कोशिश कर रहा हूं, हालांकि, मुझे एंड्रॉइड रंग राज्य सूची संसाधनों को समझने में परेशानी हो रही है:रंग राज्य सूची संसाधनों में पृष्ठभूमि रंग कैसे निर्दिष्ट करें?
मैं उदाहरण पाया (क्षमा करें, URL अब काम करता है) और अगर मैं कोशिश बिल्कुल एक ही है, यानी अगर मैं textcolor अनुकूल करने के लिए चाहते हैं, बातें काम करते हैं। हालांकि, अगर मैं केवल थोड़ा अलग चीज का प्रयास करता हूं, अर्थात् पृष्ठभूमि रंग को अनुकूलित करने के लिए, चीजें काम नहीं करते हैं और मुझे समझ में नहीं आता क्यों? यह इतना असंगत क्यों है ???
यह समझने में आसान बनाने के लिए कि मैं क्या करने की कोशिश कर रहा हूं, मैं अपनी विविधता को जोड़ता हूं। .xml फ़ाइलें:
AndroidManifest.xml
फ़ाइल:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="mmo.android.test"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Test"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Test-Activity
:
package mmo.android.test;
import android.app.Activity;
import android.os.Bundle;
public class Test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
res/values/strings.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Test!</string>
<string name="app_name">Test</string>
</resources>
res/color/button_test_color.xml
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#f0f"/> <!-- pressed -->
<item android:state_focused="true" android:color="#ff0"/> <!-- focused -->
<item android:color="#000"/> <!-- default -->
</selector>
और अंत में मेरी res/layout/main.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"
>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="foobar"
android:textColor="@color/button_test_color"
android:background="#f00"
/>
<!--
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="foobar"
android:textColor="#f00"
android:background="@color/button_test_color"
/>
-->
</LinearLayout>
अगर मैं इस तरह यहाँ दिखाया गया, यह काम करता है चलाने के लिए, यानी मैं एक बटन जिसका पाठ रंग बटन केंद्रित है जो इस पर निर्भर परिवर्तन, दबाया मिलता है, आदि
अगर मैं कम बटन है, जहां मैं सिर्फ textcolor और पृष्ठभूमि मैं एक अपवाद मिल के लिए विशेषता मान फ़्लिप uncomment करते हुए कहा
... <item> tag requires a 'drawable' attribute or child tag defining a drawable
मैं यहाँ क्या बिल्ली खो रहा हूँ? वह रंग स्थिति सूची टेक्स्ट रंग के रूप में स्वीकार्य क्यों है लेकिन पृष्ठभूमि रंग के रूप में नहीं? दृश्य के राज्य के आधार पर कोई दृश्य के पृष्ठभूमि रंग को कैसे निर्दिष्ट करता है?
अधिक inf। एक खींचने योग्य संसाधन का उपयोग करने पर, यह [प्रश्न पहले पूछा गया है] (http://stackoverflow.com/questions/3506319/android-linearlayout-with-color-resource-what-am-i-doing-wrong)। – frayser
मुझे नहीं पता कि यह जवाब सही क्यों चिह्नित किया गया है। ऐसा लगता है कि प्रश्नकर्ता [एंड्रॉइड डॉक्स] (http://developer.android.com/guide/topics/resources/color-list-resource.html) का पालन करता है जो इंगित करता है कि @color को xml फ़ाइल के साथ ठीक काम करना चाहिए res/color निर्देशिका और फ़ाइल नाम से संदर्भित है। – JulianSymes
मैं और भी हैरान हूं कि यह चुना गया जवाब था जब यह सभी पर काम नहीं करता है। -1 – Sotti