Страница 1 из 1

android.R.attr.radius

Добавлено: 21 ноя 2013, 17:25
Lucifer777
Всем привет! Как эту штуку

Код: Выделить всё

android.R.attr.radius
к кнопке применить ?

Re: android.R.attr.radius

Добавлено: 21 ноя 2013, 17:49
trew
Lucifer777 писал(а):Всем привет! Как эту штуку

Код: Выделить всё

android.R.attr.radius
к кнопке применить ?
Может подойдет Shape Drawable?
Зачем вам именно android.R.attr.radius ?

Re: android.R.attr.radius

Добавлено: 21 ноя 2013, 18:17
Lucifer777
trew писал(а): Может подойдет Shape Drawable?
Зачем вам именно android.R.attr.radius ?

xml использовать нельзя. Нужно именно программно сделать скругление углов у кнопки.

Re: android.R.attr.radius

Добавлено: 21 ноя 2013, 18:24
Mykola
создаем файл attr определяем атрибут radius;
создаем класс и наследуется от класса кнопки и в конструкторе ловим атрибут;

Re: android.R.attr.radius

Добавлено: 21 ноя 2013, 18:50
trew
Пример 1:
[syntax=java]Button button1 = (Button)findViewById(R.id.button1);

GradientDrawable gradient = new GradientDrawable(Orientation.TL_BR, new int[] {Color.CYAN, Color.YELLOW});
//GradientDrawable gradient = new GradientDrawable(Orientation.TL_BR, new int[] {Color.GRAY, Color.GRAY});
gradient.setCornerRadius(10);
button1.setBackgroundDrawable(gradient);[/syntax]

Пример 2:
[syntax=java]
RoundRectShape rect = new RoundRectShape(
new float[] {30,30, 30,30, 30,30, 30,30},
null,
null);
ShapeDrawable bg = new ShapeDrawable(rect);
bg.getPaint().setColor(Color.GRAY);
button1.setBackgroundDrawable(bg);
[/syntax]

Re: android.R.attr.radius

Добавлено: 21 ноя 2013, 23:19
IgNa
У меня похожий вопрос
можно ли в случае когда кнопка сделана из png картинки
установить - чтобы нажатие срабатывало только на непрозрачную область ?

Re: android.R.attr.radius

Добавлено: 21 ноя 2013, 23:31
trew
IgNa писал(а):У меня похожий вопрос
можно ли в случае когда кнопка сделана из png картинки
установить - чтобы нажатие срабатывало только на непрозрачную область ?
При нажатии узнай цвет пикселя методом touch, если прозрачный(цвет фона активити) тогда делаем чего-то.

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 00:51
IgNa
неа, там на фоне мазайка

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 10:17
trew
IgNa писал(а):неа, там на фоне мазайка
Скриншот для медитации:

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 13:21
IgNa
Если бы trew лежал на пляже или на травке - это бы не сработало) всё это работает только в какой то серой реальности, серого вещества trew) В жизни чаще одни картинки лежат на других - образуя эпический симбиоз для искушенной публики, котик)

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 13:26
IgNa
Вот она Суровая реальность бытия

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 14:26
trew
Здесь будет уместна цитата:
rezak90 писал(а):да ему просто нужно за него написать ещё и на блюдечке выкласть
:)

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 15:15
IgNa
О каком блюдечке .. я говорю что твоя идея не сработает в том случае когда фон - это разношерстный РИСУНОК как в моем примере,
а картинка trew еще и в разных местах может быть.

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 15:22
trew
IgNa писал(а):О каком блюдечке .. я говорю что твоя идея не сработает в том случае когда фон - это разношерстный РИСУНОК как в моем примере,
а картинка trew еще и в разных местах может быть.
Вот сиди и думай, как я получил такой лог, на твоей разноцветной картинке:

Код: Выделить всё

11-22 12:19:39.509: D/mylog(306):   not  
11-22 12:19:39.668: D/mylog(306):   not  
11-22 12:19:40.058: D/mylog(306):   TRANSPARENT  
11-22 12:19:40.748: D/mylog(306):   TRANSPARENT  
11-22 12:19:42.460: D/mylog(306):   not  
11-22 12:19:42.538: D/mylog(306):   not  
11-22 12:19:42.908: D/mylog(306):   TRANSPARENT  
11-22 12:19:43.272: D/mylog(306):   not  
11-22 12:19:43.358: D/mylog(306):   not  
11-22 12:19:43.710: D/mylog(306):   not  
11-22 12:19:43.798: D/mylog(306):   not  
11-22 12:19:43.961: D/mylog(306):   not  
11-22 12:19:44.108: D/mylog(306):   not  
11-22 12:19:44.379: D/mylog(306):   TRANSPARENT  
;)

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 15:37
Lucifer777
{30,30, 30,30, 30,30, 30,30}
можно пожалуйста пояснения к этим цифрам?

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 16:15
IgNa
это восемь тридцатилетних женщин в объятиях фигурных скобок -
они говорят trew, мы слезаем с наркоты уже неделю и поэтому айкью сейчас около нуля
прояви понимание и чуткость / Ожидаю и верю что через неделю все наладится

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 16:39
Lucifer777
IgNa писал(а):это восемь тридцатилетних женщин в объятиях фигурных скобок -
они говорят trew, мы слезаем с наркоты уже неделю и поэтому айкью сейчас около нуля
прояви понимание и чуткость / Надеемся еще через неделю все наладится
Создайте отдельный топик и там выясняйте личные отношения, меряйтесь остротой ума. ;) :arrow:

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 17:10
trew
Lucifer777 писал(а):
{30,30, 30,30, 30,30, 30,30}
можно пожалуйста пояснения к этим цифрам?
Это радиус скругления. Так (ниже) один угол не будет скруглён:
{0,0, 30,30, 30,30, 30,30}

Re: android.R.attr.radius

Добавлено: 22 ноя 2013, 17:22
Lucifer777
trew писал(а):
Lucifer777 писал(а):
{30,30, 30,30, 30,30, 30,30}
можно пожалуйста пояснения к этим цифрам?
Это радиус скругления. Так (ниже) один угол не будет скруглён:
{0,0, 30,30, 30,30, 30,30}
Спасибо большое!

Re: android.R.attr.radius

Добавлено: 24 ноя 2013, 18:51
IgNa
trew я думаю ты сделал так:
float xxx=image14.getX();
float yyy= image14.getY();
int asd = R.drawable.wake;
bitm = BitmapFactory.decodeResource(getResources(), asd);
int pixel = bitm.getPixel((int)xxx,(int)yyy);

Вот только это не работает)
Потому что я координаты не правильно определяю