1

Я использовал этот код, чтобы изменить VideoView во rumtime
Итак, я использую этот кодИзменить размер VideoView во время выполнения

VideoView video; 
DisplayMetrics dm; 
dm=new DisplayMetrics(); 
    this.getWindowManager().getDefaultDisplay().getMetrics(dm); 
    height=dm.heightPixels; 
    width=dm.widthPixels; 

    video.setMinimumHeight(height); 
    video.setMinimumWidth(width); 

и щелканье пункта меню Я использую этот

public boolean onOptionsItemSelected(MenuItem item) 
{ 
    switch(item.getItemId()) 
    { 
     case SMALL: 
       video.setMinimumHeight(height/2); 
       video.setMinimumWidth(width/2); 
       Toast.makeText(getApplicationContext(), "Small called", Toast.LENGTH_LONG).show(); 
      break; 
     case DEFAULT: 
      video.setMinimumHeight(height); 
      video.setMinimumWidth(width); 
      Toast.makeText(getApplicationContext(), "Default called", Toast.LENGTH_LONG).show(); 
      break; 
    } 
    return super.onOptionsItemSelected(item); 
} 

Но все же он не меняется. Может ли кто-нибудь помочь?

ответ

6

Вам необходимо использовать video.layout (левый, верхний, правый, нижний); для вашей цели.

Можете ли вы попробовать это один раз.

public boolean onOptionsItemSelected(MenuItem item) 
{ 
    switch(item.getItemId()) 
    { 
     case SMALL: 
      // YOU CAN CREATE LEFT, TOP, RIGHT, BOTTOM FOR YOUR VIEW AND SET. 
      int left = video.getLeft(); 
      int top = video.getTop(); 
      int right = left + (width/2); 
      int botton = top + (height/2); 
      video.layout(left, top, right, bottom); 
      Toast.makeText(getApplicationContext(), "Small called", Toast.LENGTH_LONG).show(); 
      break; 
     case DEFAULT: 
       // YOU CAN CREATE LEFT, TOP, RIGHT, BOTTOM FOR YOUR VIEW AND SET. 
      int left = video.getLeft(); 
      int top = video.getTop(); 
      int right = left + (width); 
      int botton = top + (height); 
      video.layout(left, top, right, bottom); 
       Toast.makeText(getApplicationContext(), "Default called", Toast.LENGTH_LONG).show(); 
      break; 
    } 
    return super.onOptionsItemSelected(item); 
} 

Я думаю, это должно сработать.

+0

thnx 4 ваш ответ .... Но он не показывает никакого эффекта для видео ... Видео закладывается как есть ... :( – Rohit

+0

На самом деле, я уже это сделал, вам нужно использовать video.layout (слева , top, right, bottom), чтобы изменить его размер во время выполнения. –

+0

только что я отредактировал свой ответ. Если вы не можете рассчитать левый, верхний, правый, снизу, тогда сообщите мне, что я буду рассчитать и обновить свой ответ. –

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