2015-08-05 3 views
0

Мне нужно сделать кнопки с изображением шестиугольника в андроиде. Из некоторых уроков я узнаю, что нам нужно создать класс, и нам нужно указать имя этого класса вместо кнопки записи в XML-файле. Но я не получаю с чего начать?Как сделать шестиугольную форму в андроиде?

ответ

0

EDIT: Использование изображения шестиугольника с прозрачным фоном решит проблему. Изображение будет выглядеть как шестиугольник, хотя это прямоугольник.

Вы можете вызвать метод setOnClickListener() для любого вида, так как он принадлежит классу вида. Поэтому вы можете создать ImageView, который соответствует вашим потребностям, а затем вызвать setOnClickListener, чтобы использовать его как кнопку.

+0

, что это где проблема .i имеют проблемы в создании формы шестигранной не на что делает его действовать как кнопка – richapathak

+0

Вы можете использовать изображение шестиугольника с прозрачным фоном. Затем вы можете поместить изображение в ImageView. С прозрачным фоном кнопка отображается как шестиугольник - однако площадь щелчка будет прямоугольником – Mike76

+0

на основе того, что вы просите, этот ответ уместен. Практически любое представление в Android может действовать как кнопка, так как вы можете установить OnClickListener. Когда у вас есть представление, размещенное на экране, вы можете настроить фоновый рисунок изображения, который в вашем случае представляет собой шестиугольник с прозрачными краями. – dkarmazi

0

Попробуйте этот код:

public ShapeDrawable myFunction(){ 
     Path path = new Path(); 
     float stdW = 100; 
     float stdH = 100; 
     float w3 = stdW/3; 
     float h2 = stdH/2; 
     path.moveTo(0, h2); 
     h2 -= 6/2; 
     path.rLineTo(w3, -h2);   path.rLineTo(w3, 0); path.rLineTo(w3, h2); 
     path.rLineTo(-w3, h2); path.rLineTo(-w3, 0); path.rLineTo(-w3, -h2); 
     Shape s = new PathShape(path, stdW, stdH); 
     ShapeDrawable d = new ShapeDrawable(s); 
     Paint p = d.getPaint(); 
     p.setColor(0xffeeeeee); 
     p.setStyle(Style.STROKE); 
     p.setStrokeWidth(6); 

     return d; 

    } 

В вашем OnClick:

someView.setBackgroundDrawable(myFunction()); 
+0

aakash я сделал кнопку теперь как этот код повлияет на it.Means мне нужно вызвать это внутри функции, котор вызвали на щелчке кнопки или что-то еще. Фактически я новичок в android.So пожалуйста, объясните немного :) – richapathak

+0

У меня есть отредактировал мой ответ, пожалуйста, проверьте. – Aakash

+0

Его не работает. Пожалуйста, проверьте, есть ли у меня купол неправильно. – richapathak

Смежные вопросы