Runder Button mit Farbwechselung 'OnClick'- How to ?

  • Antworten:7
  • Bentwortet
Gelöschter Account
  • Forum-Beiträge: 35

19.07.2014, 20:18:00 via Website

Hallo,

Ich beschäftige mich gerade mit Buttons und bin auf ein paar Probleme gestossen.

  1. Ich habe Schwierigkeiten mit der Anpassung der Buttonform, also ich möchte, dass der Button komplett rund ist.
    Ich habe bereits einiges versucht mit drawable Ordnern aber als 'shape' gibt es keinen 'circle'.
    Ich habe dort versucht den Radius anzupassen was nicht geklappt hat.

  2. Ebenfalls habe ich Schwierigkeiten mit einer Methode welche bei Berührung des Buttons die Farbe des Buttos ändert.

Ich habe noch ein Beispielbild welches zeigt, wie ich mir das vorstelle:

image

Ich bitte um Hilfe :)

Danke im voraus,

-ANDROID DEV :D

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

19.07.2014, 20:34:16 via App

Am einfachsten ist es einen normalen button zu nehmen diesen transparent zu machen und dann ein rundes farbiges Kreisbild drauf zu speichern

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 35

19.07.2014, 20:36:28 via Website

Dann nimmt man doch besser einen ImageButton ?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

19.07.2014, 21:03:20 via App

Ja ch glaube das ist dann die bessere Wahl.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 35

19.07.2014, 21:23:14 via Website

Das klappt mit dem Farbwechseln:
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;

public class MainActivity extends ActionBarActivity {
Button b;
int cnt;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b=(Button)findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        cnt++;
        if(cnt<5) {
            b.setBackgroundColor(16711681);
        }
        else if (cnt>5 &amp;&amp; cnt<10) {
            b.setBackgroundColor(16711936);
        }
        else {
            b.setBackgroundColor(65536);
        }
    }
});

}
}

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

19.07.2014, 22:34:17 via App

Ist der Button denn jetzt Rund?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 35

19.07.2014, 22:53:47 via Website

Ja ich habe in paint ein rundes Bild erstellt und es in den drawable-Ordner gepackt :)

Aber zu dem code von eben.....der hier funktioniert besser:

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;

public class MainActivity extends ActionBarActivity {
Button b;
int cnt;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b=(Button)findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        cnt++;

        if(cnt<5)
        {
            b.setBackgroundColor(Color.parseColor("#FF4444"));
        }
        else if (cnt>5 &amp;&amp; cnt<10) {
            b.setBackgroundColor(Color.parseColor("#FF4444"));
        }
        else{
            b.setBackgroundColor(Color.parseColor("#FF4444"));
        }
    }
});

}
}

:D

Lg,

-AD ;)

Antworten