एंड्रॉयड में Toggle buttons
दिखता नीचे की तरह हैंटॉगल बटन
और, हम शामिल हो सकते हैं टॉगल बटन की आईफोन कार्यक्षमता जैसे टॉगल सुविधा को खींचें।
इस कार्रवाई को कैसे पूरा करें? अग्रिम में धन्यवाद। इस लिंक पर
एंड्रॉयड में Toggle buttons
दिखता नीचे की तरह हैंटॉगल बटन
और, हम शामिल हो सकते हैं टॉगल बटन की आईफोन कार्यक्षमता जैसे टॉगल सुविधा को खींचें।
इस कार्रवाई को कैसे पूरा करें? अग्रिम में धन्यवाद। इस लिंक पर
और जानकारी: http://www.mokasocial.com/2011/07/sexily-styled-toggle-buttons-for-android/
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/toggle_me"/>
और drawable होगा कुछ की तरह:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:drawable="@drawable/toggle_me_on" /> <!-- checked -->
<item android:drawable="@drawable/toggle_me_off" /> <!-- default/unchecked -->
</selector>
+1 अच्छा दृष्टिकोण। – Praveenkumar
मेरे प्रश्न को यहां पोस्ट करते समय मुझे यह लिंक पहले ही मिल चुका है। वैसे भी, आपके लिंक – Praveenkumar
के लिए धन्यवाद शायद आप इस जवाब को स्वीकार करने पर विचार कर सकते हैं यदि यह आपकी आवश्यकताओं के अनुरूप है ... –
बंद की और बटन पर सभी छवियों को लेने के लिए और की तरह रिश्तेदार लेआउट में एक लेआउट बनाने के यह
<RelativeLayout
android:id="@+id/setting1"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@drawable/switchon"
android:clickable="true"
android:onClick="setting1Click" >
<ImageView
android:id="@+id/settingicon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:src="@drawable/switchball" />
<TextView
android:id="@+id/calsettingtxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:layout_toLeftOf="@+id/settingicon"
android:text="@string/settingon"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
</RelativeLayout>
तब कोड में जब दबाया जाता है
Android-Switch-Demo उदाहरण से नीचे कोड का उपयोग करें। मैं वांछित आउटपुट प्राप्त कर सकते हैं। आवेदन की
public MySwitch(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
Resources res = getResources();
mTextPaint.density = res.getDisplayMetrics().density;
mTextPaint.setShadowLayer(0.5f, 1.0f, 1.0f, Color.BLACK);
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.MySwitch, defStyle, 0);
mThumbDrawable = a.getDrawable(R.styleable.MySwitch_thumb);
mTrackDrawable = a.getDrawable(R.styleable.MySwitch_track);
mTextOn = a.getText(R.styleable.MySwitch_textOn);
mTextOff = a.getText(R.styleable.MySwitch_textOff);
mTextOutsideTrack = a.getBoolean(R.styleable.MySwitch_textOutsideTrack, false);
mTextOnThumb = a.getBoolean(R.styleable.MySwitch_textOnThumb, false);
mThumbTextPadding = a.getDimensionPixelSize(R.styleable.MySwitch_thumbTextPadding, 0);
mTrackTextPadding = a.getDimensionPixelSize(R.styleable.MySwitch_trackTextPadding, 0);
mSwitchMinWidth = a.getDimensionPixelSize(R.styleable.MySwitch_switchMinWidth, 0);
mSwitchMinHeight = a.getDimensionPixelSize(R.styleable.MySwitch_switchMinHeight, 0);
mSwitchPadding = a.getDimensionPixelSize(R.styleable.MySwitch_switchPadding, 0);
mTrackDrawable.getPadding(mTrackPaddingRect) ;
//Log.d(TAG, "mTrackPaddingRect=" + mTrackPaddingRect);
mThumbDrawable.getPadding(mThumbPaddingRect);
//Log.d(TAG, "mThumbPaddingRect=" + mTrackPaddingRect);
int appearance = a.getResourceId(R.styleable.MySwitch_switchTextAppearanceAttrib, 0);
if (appearance != 0) {
setSwitchTextAppearance(context, appearance);
}
a.recycle();
ViewConfiguration config = ViewConfiguration.get(context);
mTouchSlop = config.getScaledTouchSlop();
mMinFlingVelocity = config.getScaledMinimumFlingVelocity();
// Refresh display with current params
refreshDrawableState();
setChecked(isChecked());
this.setClickable(true);
//this.setOnClickListener(clickListener);
}
स्क्रीनशॉट -
की ड्रैग फीचर के लिए यह समर्थन होगा, ऐसा कुछ डिवाइसों के लिए होता है जो स्विच रंग नहीं दिखाता है (इसके ग्रे को चालू और बंद दोनों के लिए), और कुछ उपकरणों पर इसका आकार वास्तव में बड़ा होता है। कोई कामकाज? –
@The अज्ञात नहीं, मैंने इसके साथ काम नहीं किया है। आईओएस विकास के साथ काम कर रहे थे। – Praveenkumar
ओह ठीक है .. धन्यवाद :) –
आप आकार (छवियों का उपयोग किए बिना) के साथ क्या करना चाहते हैं इस प्रयास करें। वर्तमान में एक कस्टम चेकबॉक्स में यह उपयोग कर im
<com.myapp.views.MyCheckBox xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:button="@null"
android:checked="false"
android:clickable="false"
android:drawableRight="@drawable/checkbox_selector"
android:focusable="false"
android:textColor="@color/orange" />
checkbox_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="false"
android:drawable="@drawable/toggle_button_off" /> <!-- pressed -->
<item android:state_checked="true"
android:drawable="@drawable/toggle_button_on" /> <!-- focused -->
<!-- default -->
<item
android:drawable="@drawable/toggle_button_off" />
</selector>
toggle_button_off.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/toggle_background_off"></item>
<item
android:drawable="@drawable/white_toggle_icon"
android:left="2dp"
android:right="27.5dp"
android:bottom="1.5dp"
android:top="1.5dp"></item>
</layer-list>
toggle_button_on.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/toggle_background_on"></item>
<item
android:drawable="@drawable/white_toggle_icon"
android:right="2dp"
android:left="27.5dp"
android:bottom="1.5dp"
android:top="1.5dp"></item>
</layer-list>
toggle_background_off.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:height="32dp" android:width="60dp"/>
<solid android:width="1dp" android:color="#919090"/>
<corners android:radius="18dp" />
</shape>
toggle_background_on.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:height="32dp" android:width="60dp"/>
<solid android:width="1dp" android:color="@color/orange"/>
<corners android:radius="18dp" />
</shape>
white_toggle_icon.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#ffffff"/>
<stroke android:width="2dp" android:color="#fff" />
<size android:width="25dp" android:height="25dp"/>
</shape>
कृपया बताएं कि आप ** com.myapp.views.MyCheckBox ** को कैसे अनुकूलित करते हैं? –
यह एक अच्छा जवाब है, लेकिन स्वाइप इस तरह से काम नहीं करता – xanexpt
ग्रेट उत्तर .. धन्यवाद .. –
मेरा उत्तर देखें: http://www.mokasocial.com/2011/07/ sexly-styled-toggle-button-for-android/ –
डाउनवोट के कारण? – Praveenkumar
यह मैं नहीं हूं, मैं इस तरह के प्रश्न के लिए डाउनवोट नहीं करूँगा, लेकिन मुझे लगता है कि ऐसा इसलिए है क्योंकि आपने अभी तक जो भी प्रयास नहीं किया है, वह सिर्फ पूरे उत्तर की प्रतीक्षा कर रहा है, शायद यह भी क्योंकि एंड्रॉइड दिशानिर्देशों में यह कहा गया है: अन्य प्लेटफार्मों से नकल यूआई तत्व http://developer.android.com/design/patterns/pure-android.html –