से iosched एप्लिकेशन स्रोत मैं इस के साथ आया था ButtonBar
वर्ग:
/**
* An extremely simple {@link LinearLayout} descendant that simply reverses the
* order of its child views on Android 4.0+. The reason for this is that on
* Android 4.0+, negative buttons should be shown to the left of positive buttons.
*/
public class ButtonBar extends LinearLayout {
public ButtonBar(Context context) {
super(context);
}
public ButtonBar(Context context, AttributeSet attributes) {
super(context, attributes);
}
public ButtonBar(Context context, AttributeSet attributes, int def_style) {
super(context, attributes, def_style);
}
@Override
public View getChildAt(int index) {
if (_has_ics)
// Flip the buttons so that "OK | Cancel" becomes "Cancel | OK" on ICS
return super.getChildAt(getChildCount() - 1 - index);
return super.getChildAt(index);
}
private final static boolean _has_ics = Build.VERSION.SDK_INT >=
Build.VERSION_CODES.ICE_CREAM_SANDWICH;
}
यह होगा LinearLayout
कि "ओके" और "रद्द करें" बटन में जाएंगे, और उन्हें उचित क्रम में डाल देंगे। फिर इसे उस लेआउट में डालें जिसमें आप बटन चाहते हैं:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="?android:attr/dividerHorizontal"
android:orientation="vertical"
android:showDividers="middle">
<!--- A view, this approach only works with a single view here -->
<your.package.ButtonBar style="?android:attr/buttonBarStyle"
android:id="@+id/buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="1.0">
<Button style="?android:attr/buttonBarButtonStyle"
android:id="@+id/ok_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/ok_button" />
<Button style="?android:attr/buttonBarButtonStyle"
android:id="@+id/cancel_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/cancel_button" />
</your.package.ButtonBar>
</LinearLayout>
यह आपको बॉर्डरलेस बटन के साथ डायलॉग का लुक देता है। आप इन विशेषताओं को रेस में फ्रेमवर्क में पा सकते हैं। buttonBarStyle
ऊर्ध्वाधर विभक्त और गद्दी करता है। होलो थीम के लिए buttonBarButtonStyle
सेट किया गया है borderlessButtonStyle
, लेकिन मेरा मानना है कि इसे प्रदर्शित करने का सबसे मजबूत तरीका होना चाहिए क्योंकि फ्रेमवर्क इसे प्रदर्शित करना चाहता है।