2017-05-15 2 views
1

Hallo Ich möchte setMinHeight android-Buttons setzen und setMaxHeightsetMinHeight und setMaxHeight in android benutzerdefinierte Ansicht

I android Button-Widget in der Bibliothek Projekt und Benutzer von SDK (Bibliotheksprojekt) haben die Verwendung dieser benutzerdefinierten Schaltfläche nehmen aber ich möchte Einschränkung setzen, dass die minimale Größe der Schaltfläche 200dp sein muss und die maximale Höhe der Schaltfläche nicht überschreiten kann 350dp Wie erreiche ich das von benutzerdefinierten Ansicht Button benutzerdefinierte Klasse?

Versucht, viel Thread zu suchen, aber noch nicht sicher.

public class MyCustomButton extends android.widget.Button { 

    public MyCustomButton(Context context) { 
     super(context); 
     applyDefaults(null); 
    } 

    public MyCustomButton(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     applyDefaults(attrs); 
    } 

    public MyCustomButton(Context context, AttributeSet attrs, int defStyleAttr) { 
     super(context, attrs, defStyleAttr); 
     applyDefaults(attrs); 
    } 

    @TargetApi(Build.VERSION_CODES.LOLLIPOP) 
    public MyCustomButton(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { 
     super(context, attrs, defStyleAttr, defStyleRes); 
     applyDefaults(attrs); 
    } 

    private void applyDefaults(AttributeSet attrs) { 

     String height = attrs.getAttributeValue("http://schemas.android.com/apk/res/android", "layout_height"); 
     String width = attrs.getAttributeValue("http://schemas.android.com/apk/res/android", "layout_width"); 

     Log.e("MVYAS=======", "height===" + height); 
     Log.e("MVYAS=======", "width===" + width); 

     setUpButtonForLoginOrLogout(); 
     setAllCaps(false); 
     setMinHeight(getResources().getDimensionPixelSize(R.dimen.mid_button_min_height)); 
     setMinWidth(getResources().getDimensionPixelSize(R.dimen.mid_button_min_width)); 
     setMaxHeight(getResources().getDimensionPixelSize(R.dimen.mid_button_max_height)); 
     setMaxWidth(getResources().getDimensionPixelSize(R.dimen.mid_button_max_width)); 

    } 

} 

und bei der Verwendung in layout.xml Datei 57dp als niedriger als die gewünschte Taste Höhe nicht Höhe erstellen können, um Knopf zu

<com.example.library.widget.MyCustomButton 
     android:id="@+id/my_button" 
     android:layout_width="153dp" 
     android:layout_height="57dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_alignWithParentIfMissing="true" 
     android:layout_margin="10dp" 
     styleButton:mobileid="inverted"/> 

Hier Benutzer sollte.

Restriktions Einlochen durch Zugabe von setMinHeight() und setMaxHeight() Dosis nicht.

Wie erreiche ich das? Ihre Hilfe wird geschätzt.

Vielen Dank im Voraus.

Antwort

0

Fügen Sie einfach diese unter zwei Methoden in MyCustomButtom Klasse und versuchen Sie es:

@Override 
public void setMinimumHeight(int minHeight) { 
    super.setMinimumHeight(minHeight); 
} 

@Override 
public void setMinHeight(@Px int minHeight) { 
    super.setMinHeight(minHeight); 
} 

Und noch etwas, fügen Sie in applyDefaults() Funktion unterhalb der Linie.

setMinimumHeight(getResources().getDimensionPixelSize(R.dimen.mid_button_min_height)); 
Verwandte Themen