0

Я пытаюсь сделать вид прокрутки с помощью кнопки, изображения и viedoview.Прокрутка с помощью кнопки, ImageView и viedoView

Я динамически создаю свой код.

Когда я нажимаю кнопку с видео, я вижу их обоих. То же самое с кнопкой и imageView.

Моя проблема в том, что есть videView и imageView. Когда у меня есть оба из них, я не вижу VidoView, и я вижу только изображение.

Спасибо за помощь :)

Вот мой код:

код XML Scrollview:

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:fillViewport="true" > 

     <RelativeLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" > 

    <LinearLayout 
     android:id="@+id/dateMain" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

    </LinearLayout> 


    </RelativeLayout> 

</ScrollView> 

мой код Java:

private void addPics() { 

      extras = getIntent().getExtras(); 
      String s = extras.getString("date"); 

      DataBaseMain data = new DataBaseMain(this); 
      data.open(); 
      paths = data.getWorkOutPic(s); 
      data.close(); 

      if(paths == null || paths.length < 1) 
      return; 

      LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); 

      for(int i = 0; i < paths.length; i++){ 

       Bitmap yourSelectedImage = BitmapFactory.decodeFile(paths[i]); 
       ImageButton pic = new ImageButton(this); 
       pic.setImageBitmap(yourSelectedImage); 
       pic.setAdjustViewBounds(true); 
       pic.setLayoutParams(lp); 
       pic.setId(i); 
       pic.setOnLongClickListener(new OnLongClickListener() { 
        public boolean onLongClick(View arg0) {    
         selectedPictrue = arg0.getId(); 
         onButtonClickEvent(arg0); 
         return true; 
        } 
       }); 
      linear.addView(pic); 
      } 

      } 

     private void addVideos() { 

      extras = getIntent().getExtras(); 
      String s = extras.getString("date"); 

      DataBaseMain data = new DataBaseMain(this); 
      data.open(); 
      videos = data.getWorkOutVideo(s); 
      data.close(); 

      if(videos == null || videos.length < 1) 
      return; 

      LinearLayout linear = (LinearLayout) findViewById(R.id.dateMain); 
      LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); 
      LayoutParams lp2 = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 

      for(int i = 0; i < videos.length; i++){ 

       Button b = new Button(this); 
       b.setLayoutParams(lp2); 
       b.setText("Delete video"); 
       b.setId(i+50); 
       linear.addView(b); 
       b.setOnClickListener(this); 

       VideoView video = new VideoView(this); 
       video.setVideoPath(videos[i]); 
       video.setLayoutParams(lp); 
       video.setId(i+50); 
       video.setMediaController(new MediaController(this)); 
       video.bringToFront(); 
       linear.addView(video); 
      }   
     } 

     public void setLogView(String date){ 


     DataBaseMain dataBase = new DataBaseMain(this); 
     dataBase.open(); 
     all = dataBase.dayLog(date); 
     dataBase.close(); 

     if (all == null || all[0].length < 1 || all[3][0] == null || all[3][0].equals("")) 
      return; 

     LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 

     for (int i = 0; i < all[0].length; i++){ 
      String temporay = ""; 

      for(int j = 0; j < all.length; j++) 
       { 
        temporay = temporay + " " + all[j][i]; 
       } 

      Button mine = new Button(this); 
      mine.setText(temporay); 
      mine.setTextColor(getResources().getColor(R.color.black)); 
      mine.setBackgroundColor(color.transparent); 
      mine.setLayoutParams(lp); 
      mine.setId(i); 
      mine.setOnClickListener(this); 
      linear.addView(mine); 
      //Toast.makeText(this, ""+i, Toast.LENGTH_SHORT).show(); 
     } 
    }   

ответ

0

Это, вероятно, потому, что у вас есть наиболее ваших высот LayoutParams до LayoutParams.MATCH_PARENT. «MATCH_PARENT» означает, что вы хотите, чтобы высота этого элемента была такой же большой, как родительский контейнер. Не уверен, что именно вы пытаетесь выполнить макет, поэтому я не могу рекомендовать исправление, кроме того, что сначала пытаюсь установить ширину WRAP_CONTENT и оттуда оттуда.

+0

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

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