如何指定视频视图的位置? (左上、右上、左下……等)

发布于 2024-12-18 09:37:33 字数 717 浏览 1 评论 0原文

我有一个 VideoView,我知道如何将其在屏幕上居中,但现在我需要动态地(java 代码,而不是 xml 代码)指定屏幕上的位置。

这是我的实际代码:

    VideoView vv = new VideoView(this);
    this.setContentView(vv);
    android.widget.FrameLayout.LayoutParams vvParams = (android.widget.FrameLayout.LayoutParams) vv.getLayoutParams();
    vvParams.gravity=17; //gravity 17 = center horizontal & vertical
    vvParams.width=150;
    vv.setLayoutParams(vvParams);        
    String fileName = "android.resource://" + getPackageName() + "/" + R.raw.v;
    vv.setVideoURI(Uri.parse(fileName));
    vv.start();

这些是我想要指定的可能位置:(

垂直/水平)

  • 左上、中上、右上
  • 中左、中中、右中
  • 左下、中下、右下

如何指定这些位置动态地使用java代码吗?

i have a VideoView that i know how to center it on the screen, but now i need to specify dinamically (java code, not xml code) the position on the screen.

This is my actual code:

    VideoView vv = new VideoView(this);
    this.setContentView(vv);
    android.widget.FrameLayout.LayoutParams vvParams = (android.widget.FrameLayout.LayoutParams) vv.getLayoutParams();
    vvParams.gravity=17; //gravity 17 = center horizontal & vertical
    vvParams.width=150;
    vv.setLayoutParams(vvParams);        
    String fileName = "android.resource://" + getPackageName() + "/" + R.raw.v;
    vv.setVideoURI(Uri.parse(fileName));
    vv.start();

These are the possible positions i want to specify:

(vertical/horizontal)

  • top left, top center, top right
  • center left, center center, center right
  • bottom left, bottom center, bottom right

How to specify these possitions with java code dinamically?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

她比我温柔 2024-12-25 09:37:33

让您的 VideoView 成为 RelativeLayout,然后像这样更新 LayoutParams:

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams();

// Horizontal alignment - choose as appropriate
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
//lp.addRule(RelativeLayout.CENTER_HORIZONTAL);
//lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

// Vertical alignment - choose as appropriate
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
//lp.addRule(RelativeLayout.CENTER_VERTICAL);
//lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);

vv.setLayoutParams(lp);

Make your VideoView the child of a RelativeLayout, and then update the LayoutParams like this:

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams();

// Horizontal alignment - choose as appropriate
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
//lp.addRule(RelativeLayout.CENTER_HORIZONTAL);
//lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

// Vertical alignment - choose as appropriate
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
//lp.addRule(RelativeLayout.CENTER_VERTICAL);
//lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);

vv.setLayoutParams(lp);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文