पर जोड़े गए प्रोग्रेसबार की चौड़ाई बदलें, मैं कोड से यूआई बना रहा हूं और सफलतापूर्वक प्रोग्रेसबार विजेट जोड़ सकता हूं, हालांकि मैं विजेट के आयामों को मेरे इच्छित मानों में परिवर्तित नहीं कर सकता, यह हमेशा डिफ़ॉल्ट आकार में रहता है (आस-पास 50dp)। मैंने निम्नलिखित कोड की कोशिश की है;रनटाइम
ProgressBar progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleHorizontal);
progressBar.setMinimumHeight(20);
progressBar.setMinimumWidth(100);
मैं भी कुछ नहीं Progressbar LayoutParams की स्थापना लेकिन फिर से और मैं एक और लेआउट में विजेट लपेटकर की कोशिश की है, लेकिन अभी भी नहीं नसीब कोशिश की है।
क्या कोई मदद कर सकता है, क्योंकि मैं यह नहीं देख सकता कि इसे कैसे किया जाए? यदि एक्सएमएल का उपयोग कर कोई समाधान है तो यह काम कर सकता है, लेकिन मुझे रनटाइम पर आयाम और स्थान सेट करना होगा।
प्रगति एक्सएमएल के लिए मैंने निम्नलिखित का उपयोग किया।
<ProgressBar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="10dp"
android:indeterminateOnly="false"
android:progressDrawable="@android:drawable/progress_horizontal"
android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal"
android:maxWidth="1000dp"
/>
फिर इसे बढ़ाने के लिए कोड निम्नानुसार है। यह एक मिश्रण है जिसे हम चर्चा कर रहे हैं।
<ProgressBar
android:id="@+id/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
android:visibility="visible"
style="@android:style/Widget.ProgressBar.Large.Inverse"
/>
और फिर कोड:
LayoutInflater layoutInflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ProgressBar progressBar = (ProgressBar)layoutInflater.inflate(R.layout.progress_bar, null);
progressBar.setMinimumHeight(10);
progressBar.setMinimumWidth(200);
progressBar.setLayoutParams(new RelativeLayout.LayoutParams(200, 10);
progressBar.setMax(100);
progressBar.setProgress(getScrollBarValue());
progressBar.setIndeterminate(isIndeterminate());
progressBar.getLayoutParams().width = 200;
progressBar.invalidate();
मुझे लगता है कि एक समाधान विजेट के लिए स्रोत कोड की प्रतिलिपि बनाना और गायब विधियों को लागू करना होगा। एक पागल समाधान लगता है, ऐसा करने का एक तरीका होना चाहिए। – Snowwire
बस पुष्टि करने के लिए: आप बार शैलियों की तलाश कर रहे हैं, स्पिनर शैलियों नहीं? शायद यह पता लगाने के लिए पर्याप्त होगा कि शैलियों/आकृतियों को परिभाषित किया गया है और उन्हें कॉपी और समायोजित करने के लिए। – sstn