我无法让我的ImageView出现半个屏幕可以有人帮忙的。 这里是我的xml文件。 它应该占用屏幕尺寸的一半,也有TextView的线性布局应在imageview的页脚。
xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/fond" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:layout_below="@+id/relativeLayout1" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" > <WebView android:id="@+id/webcontent" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="151dp" /> </RelativeLayout> <ImageView android:id="@+id/image_actualitedetails" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:src="@drawable/six_yamaha" /> <LinearLayout android:id="@+id/linearvideo" android:layout_width="fill_parent" android:layout_height="65dp" android:layout_alignBottom="@+id/image_actualitedetails" android:layout_alignParentLeft="true" android:background="#88FFFFFF" android:gravity="center" android:paddingLeft="@dimen/fourdp" android:paddingRight="@dimen/fourdp" > <TextView android:id="@+id/text_actualites" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" android:textColor="@color/tabDark" android:textStyle="bold" /> </LinearLayout> </RelativeLayout> <RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="75dp" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:background="@drawable/header" > <Button android:id="@+id/boutton_retour" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginLeft="14dp" android:background="@drawable/back" /> </RelativeLayout>
使用LinearyLayout来包装你的ImageView和另一个看不见的视图,并设置layout_weight都为0.5,那么ImageView的应该是一半大小。
这里是你展示如何设置图像屏幕尺寸半部的例子
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.5"
android:background="#ff0000"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/your_image"
android:adjustViewBounds="true"
/>
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.5"
android:background="#00ff00"
/>
</LinearLayout>
这是结果
如果你想要把你的形象在屏幕的中心,你可以用同样的想法,并设置适当的体重,以实现自己的目标。 祝好运!
只是如果有人想景观版本的差不多了:)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:baselineAligned="true"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:background="#ff0000" >
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/adele" />
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:background="#00ff00" />
</LinearLayout>
首先,您需要在运行时获取的显示尺寸
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
windowWidth = size.x;
windowHeight = size.y;
然后你可以继续设置您的ImageView的高度和宽度参数,这些值的一半
int orgWidth = yourImageView.getDrawable().getIntrinsicWidth();
int orgHeight = yourImageView.getDrawable().getIntrinsicHeight();
//Use RelativeLayout.LayoutParams if your parent is a RelativeLayout
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
windowHeight / 2, windowWidth / 2);
yourImageView.setLayoutParams(params);
yourImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
你必须把你的ImageView与水平对齐方式的LinearLayout里面,所以你可以使用
android:weight = 0.5// this attribute for the image view will force the image to fill half of the screen, counting of course with the linear layout as the top parent layout(filling the hole window)