android: растягивание вида поверхности по горизонтали

#android #surfaceview #stretch

#Android #surfaceview #растягивание

Вопрос:

Я использую медиаплеер в своем приложении для Android и установил вид поверхности. Вот мой XML-код.

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@ id/main_view"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_gravity="center"
          android:orientation="vertical">

<SurfaceView android:id="@ id/surface"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center">
</SurfaceView>
  

Моя проблема в том, что у меня есть пустые места справа и слева от моего видео. Я хочу, ЧТОБЫ ОН БЫЛ РАСТЯНУТ ПО ГОРИЗОНТАЛИ .. Может кто-нибудь посоветовать мне, как я могу растянуть surfaceview или мой медиаплеер по горизонтали?
Вот код, который я использую для своего медиаплеера

 public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mediaplayer);
mPreview = (SurfaceView) findViewById(R.id.surface);
holder = mPreview.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(path);
mediaPlayer.setDisplay(holder);
mediaPlayer.prepare();
mediaPlayer.setOnBufferingUpdateListener(this);
mediaPlayer.setOnCompletionListener(this);
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.setOnVideoSizeChangedListener(this);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);  
mediaPlayer.start();
  

Пожалуйста, дайте мне знать, если есть какие-либо проблемы в xml или в коде.
Спасибо всем

Комментарии:

1. в surfaceview вы пробовали изменить android:layout_width=»fill_parent»???

Ответ №1:

попробуйте использовать layout_width вида поверхности для заполнения parent

 android:layout_width="fill_parent"
  

Комментарии:

1. попробуйте это после удаления Android: layout_gravity =»center», скажите мне, работает ли это.

2. Я попробую это и вскоре расскажу вам.. На самом деле я просто хочу, чтобы он полностью растягивался (только по горизонтали) до размера экрана

3. используйте Android: layout_gravity=»center_vertical» и используйте Android:layout_width=»fill_parent»

4. Сэр, я отредактировал свой вопрос.. Вышеуказанный метод также не сработал. Пожалуйста, посмотрите, не делаю ли я что-нибудь неправильно в коде.. Спасибо

5. затем используйте определенную ширину экрана, например Android: layout_width = 480dp «. У меня нет другой идеи.