2016-04-01 4 views
0

Я хочу добавить ImageView в onClick() кнопки. Но образ изображения должен быть выровнен по центру кнопки.Как добавить ImageView над кнопкой

Как это сделать прагматично?

Я создаю новый экземпляр ImageView для добавления поверх представления, который его назвал, и его позиция эквивалентна представлению, называемому им.

Как получить координаты X и Y?

EDIT:

@Override 
    public void onClick(final View v) { 
      if(v.getWidth() > v.getHeight()) size = v.getHeight(); 
      if(v.getWidth() < v.getHeight()) size = v.getWidth(); 
      RelativeLayout.LayoutParams button = new RelativeLayout.LayoutParams(size,size); 
      buttonc = new ImageView(getApplicationContext()); 
      buttonc.setBackgroundResource(R.drawable.round); 
      layout.addView(buttonc,button); 

Я использую приведенный выше код, чтобы попытаться прагматично установить размер ImageView к тому, что кнопки, и он работает.

Что касается координат, я до сих пор не понял этого.

Чтобы добавить ясность: Я пытаюсь создать закругленный эффект пульсации над видом, который вызывает его.

+0

создать пользовательский макет и назначить эту кнопку. –

+0

Можем ли мы увидеть код, который вы пытаетесь? – pRaNaY

+0

Извините, приведенный выше код работает отлично. Мне нужна помощь, чтобы получить положение кнопки и соответственно установить положение ImageView. –

ответ

0

Я предлагаю лучшее решение для создания изображения, прежде чем вручную поместить его в xml по своему усмотрению, сначала установите его видимость на false. На переключателе щелчка его видимость на true, и изображение появится

Это решение проще, чем то, что вы ищете.

Не стесняйтесь задавать вопросы

+0

Проблема в том, что моя текущая реализация использует TableLayout, поэтому я не думаю, что могу добавить ImageView над Button. –

+0

. Еще одно предложение, которое вы хотите установить в качестве фона кнопки, просто нажимаете на кнопку. : Замените фон на свое изображение, удалите текст и сделайте кнопку unclickable – 2D3D

0

добавить ImageView

@Override 
    public void onClick(final View v) { 
    //LinearLayout 
      LinearLayout linearLayout= new LinearLayout(this); 
      linearLayout.setOrientation(LinearLayout.VERTICAL); 

      linearLayout.setLayoutParams(new LayoutParams(
        LayoutParams.MATCH_PARENT, 
        LayoutParams.MATCH_PARENT)); 

     //ImageView 
      ImageView imageView = new ImageView(this); 
     //image resource 
      imageView.setImageResource(R.drawable.specs); 
     //image position 
      imageView.setLayoutParams(new LayoutParams(
         LayoutParams.MATCH_PARENT, 
         LayoutParams.WRAP_CONTENT)); 

     //adding view to layout 
      linearLayout.addView(imageView); 
     //make visible to program 
      setContentView(linearLayout); 
} 
+0

, вы пробовали этот ответ? @ Крис Брендан –

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