我有一个用于显示广告的全屏活动。广告只是一个图像,图像上有一个十字按钮。一切似乎工作正常我面临的唯一问题是来自服务器的图像处于横向模式,然后交叉按钮保持在顶部,图像在中心
当图像处于纵向模式时,图像以全屏显示并在顶部交叉
任何人都可以建议我如何在加载的图像上移动十字按钮,就像第二张图像中的横向按钮一样。
这是我的代码
img = (ImageView) findViewById(R.id.adimage);
try {
obj = new JSONObject(store.getString(Constants.PROFILE_STRING));
JSONObject advert = obj.getJSONObject("advertisement");
url = advert.getString("url");
image = advert.getString("image");
name = advert.getString("name");
DisplayImageOptions options = new DisplayImageOptions.Builder()
.imageScaleType(ImageScaleType.EXACTLY)
.cacheOnDisc(true)
.build();
il.loadImage(image, options, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
img.setImageBitmap(loadedImage);
findViewById(R.id.close).setVisibility(View.VISIBLE);
}
});
} catch (JSONException e) {
e.printStackTrace();
}
这是我的布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:padding="10dp"
tools:context="soulvant.golfclub.Advertisement">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true">
<!--<ImageView
android:id="@+id/backgroundImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>-->
<ImageView
android:id="@+id/adimage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<ImageView
android:id="@+id/close"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/adimage"
android:layout_alignTop="@+id/adimage"
android:layout_gravity="right|top"
android:padding="5dp"
android:scaleType="centerCrop"
android:src="@drawable/a_close_button"
android:visibility="gone" />
</FrameLayout>
答案 0 :(得分:0)
嗯,你可以这样做。
获取adImage下载后的宽度和高度
然后,将关闭按钮/图像放在adImage上,指定要放置图像的位置
答案 1 :(得分:0)
尝试在您的imageview中保留android:adjustViewBounds="true"
此属性调整图像边界以保留其drawable.do的宽高比,如:
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" >
<ImageView
android:id="@+id/adimage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true" />
<ImageView
android:id="@+id/close"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="right|top"
android:padding="5dp"
android:scaleType="centerCrop"
android:src="@drawable/ic_launcher"
android:visibility="gone" />
</FrameLayout>