相关疑难解决方法(0)

Android - 在图像/缩略图上叠加播放按钮的最佳方式

我有一个Android应用程序,可以播放音频/视频和显示图片.对于视频,我想在预览图像的顶部以及列表视图中叠加播放按钮.现在我是如何使用xml中的ImageView,然后drawable是我定义的图层列表以编程方式,因为其中一个图像是动态的,播放按钮当然是静态的.我想从底部对齐播放按钮10px,并水平居中.

我的ImageView定义如下(在xml中)

<ImageView 
          android:id="@+id/EvidencePreview"      
          android:layout_width="267dp"
          android:layout_height="201dp"
          android:scaleType="centerCrop"
          android:layout_margin="3dp"
          android:layout_gravity="center_horizontal|center_vertical"/>
Run Code Online (Sandbox Code Playgroud)

ImageView是表单的一部分,用户可以在其中编辑标题和其他信息.然后在我的活动中,我创建了这样的图层列表:

Resources resources = mContext.getResources();
Drawable playOverlayDrawable = resources.getDrawable(R.drawable.play_overlay_large);                        
Drawable[] layers = new Drawable[2];
layers[0] = Drawable.createFromPath(tb.filePath);
layers[1] = playOverlayDrawable;
LayerDrawable layerDrawable = new LayerDrawable(layers);
ViewGroup.LayoutParams lp = iv.getLayoutParams();

int imageHeight = lp.height;
int imageWidth = lp.width;
int overlayHeight = layers[1].getIntrinsicHeight();
int overlayWidth = layers[1].getIntrinsicWidth();
int lR = (imageWidth - overlayWidth) / 2;
int top = imageHeight - (overlayHeight + 10);
int bottom = 10;
layerDrawable.setLayerInset(1, lR, top, lR, bottom);
iv.setImageDrawable(layerDrawable); …
Run Code Online (Sandbox Code Playgroud)

android overlay drawable imageview

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

drawable ×1

imageview ×1

overlay ×1