0

ページごとにスクロールできる ViewGroup があります。これらのページは画像です。リンクがあるものもあれば、メディアがあるものもあります。たとえば、画像にビデオの正方形がある場合、その上に VideoView を配置して、ユーザーがそれをタップすると、raw フォルダーからムービーを再生します。

ただし、これを行うと、次のページまたは前のページにスクロールすると、次または前の画面に黒い境界線が表示され、すべてめちゃくちゃに動作します。誰でもこれが何であるか、これを修正する方法を知っていますか? それはVideoViewの動作ですか?それとも、私のページャー クラスまたは他のレイアウト コードですか??

コードの一部:

                        LinearLayout linVid2 = new LinearLayout(this);
                    LinearLayout linVid = new LinearLayout(this);

                    linVid.setBackgroundResource(R.drawable.landscape_1003_1_full);
                    linVid.setLayoutParams(new LinearLayout.LayoutParams(
                            1024, 748));

                    linVid2.setPadding(386, 53, 1024 - 587 - 386,
                            748 - 440 - 53);
                    linVid.addView(linVid2);

                    VideoView vd = new VideoView(this);
                    String tmp = MovieLink2.replace(".mp4", "");
                    int movieID = res.getIdentifier(tmp, "raw",
                            getPackageName());
                    Uri uri = Uri.parse("android.resource://"
                            + getPackageName() + "/" + movieID);
                    MediaController mc = new MediaController(this);
                    vd.setMediaController(mc);
                    vd.setVideoURI(uri);
                    linVid2.addView(vd);
                    horizontalViewSwitcher.addView(linVid, current);
                    vd.start();
4

1 に答える 1

1

requestLayout()関数を呼び出すことができますonScrollChanged()。それは私にとって同じ問題を解決しました。

于 2011-12-06T09:50:47.740 に答える