2011-01-24 24 views
9

एक्सएमएल के बिना क्षैतिज प्रोजेसबार कैसे बनाएं या XML सामग्री के बिना एक्सएमएल गुणों को कैसे घोषित करें देखें?एंड्रॉइड - प्रोग्रामेटिक रूप से दृश्य प्रगति बनानाबार

मेरे पास .java फ़ाइल में लेआउट है और मैं प्रगति को क्षैतिज पर सेट करना चाहता हूं और इसकी चौड़ाई/स्थान सेट करना चाहता हूं।

RelativeLayout fv = new RelativeLayout(this); 
panel = new Panel(this); 
fv.addView(panel); 
ProgressBar pb = new ProgressBar(this); 
//pb.? - progress bar parameters 
fv.addView(pb); 
setContentView(fv); 

ओह, और यह पॉप-अप विंडो नहीं हो सकता है। मैं स्पर्श-सक्षम कैनवास परत के शीर्ष पर Progressbar जरूरत है ..

+0

किसी भी भाग्य इस काम करने के लिए हो रही हो सकता है? – hopia

+0

@hopia हाँ, लेकिन मुझे शायद ही याद है .. ऐसा कुछ किया: RelativeLayout rl = new RelativeLayout (this); \t \t setContentView (आरएल); \t \t पैनल = नया पैनल (यह, सामग्री, डब्ल्यू, एच); \t \t पैनल.रेक्वेस्ट फोकस(); \t \t rl.addView (पैनल); \t \t पीबी = नया प्रोग्रेसबार (यह, शून्य, android.R.attr.progressBarStyleHorizontal); \t \t pb.setLayout पैराम (नया लेआउटपैम्स (एसवीआईडीएच, 10)); \t \t rl.addView (पीबी); \t \t setContentView (आरएल); – yosh

उत्तर

22

निर्माता में, इस कार्य करें:

ProgressBar pb = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal); 

आप आमतौर पर आप Android के AttributSets में से एक वैसे भी आवश्यकता होगी, एक AttributeSet साथ अशक्त बदल सकते हैं। फिर आप मानक दृश्य विधियों का उपयोग करके अपनी चौड़ाई/स्थान सेट कर सकते हैं।

+2

क्या आप मुझे बता सकते हैं कि मैं इन विशेषताओं को वास्तव में कैसे जोड़ूं? यह कोड अच्छा है, मुझे क्षैतिज स्क्रॉलबार देता है लेकिन मुझे आलोचनात्मक त्रुटि मिलती है (मैं काम से बाहर हूं, अब यह नहीं बता सकता कि यह क्या था) जब मैं style.xml से विशिष्ट शैली को कन्स्ट्रक्टर में सेट xml विशेषता के रूप में जोड़ना चाहता हूं। – yosh

1

आप नीचे दिए गए के रूप में इस के लिए LevelListDrawable उपयोग कर सकते हैं:

LevelListDrawable mLevels; 
mLevels = (LevelListDrawable)getContext().getResources().getDrawable(R.drawable.stat_levels); 

stat_levels ड्रॉएबल में xml फ़ाइल बात निम्नलिखित शामिल है;

<?xml version="1.0" encoding="utf-8"?> 
<level-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:maxLevel="0" android:drawable="@drawable/stat_0" /> 
<item android:maxLevel="10" android:drawable="@drawable/stat_10" /> 
<item android:maxLevel="20" android:drawable="@:drawable/stat_20" /> 
<item android:maxLevel="40" android:drawable="@drawable/stat_40" /> 
<item android:maxLevel="60" android:drawable="@drawable/stat_60" /> 
<item android:maxLevel="80" android:drawable="@drawable/stat_80" /> 
<item android:maxLevel="100" android:drawable="@:drawable/stat_100" /> 
</level-list> 

stat_0 - stat_100 विभिन्न स्तरों के आरेखण हैं।

इस

अपनी जरूरत के आधार पर स्तर सेट करने के लिए इस्तेमाल किया जा सकता है: mLevels.setLevel(mLevel);

mLevel maxLevel यानी 0, 10, 20, 40, 60, 80, 100

संबंधित मुद्दे