Android将procentual size设置为imageView

Android将procentual size设置为imageView,android,image,imageview,android-linearlayout,Android,Image,Imageview,Android Linearlayout,我想问一下如何设置imageview的初始宽度和高度 我试图找到任何可行的解决方案,但没有一个对我无效 谢谢你的帮助 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/layoutConta

我想问一下如何设置imageview的初始宽度和高度

我试图找到任何可行的解决方案,但没有一个对我无效

谢谢你的帮助

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:id="@+id/layoutContainer" android:orientation="vertical">

    <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="3">
        <!--HERE I NEED TO SET PROCENTUAL HEIGHT -->
        <ImageView
        android:id="@+id/ivFlag1"
        android:layout_alignParentTop="true"
        android:layout_width="200dp"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:src="@drawable/car_finder_logo" />

    </RelativeLayout>
</LinearLayout> 
android:layout_weight将导致视图使用父视图的高度/宽度(如果它是父视图的唯一子视图)。将虚拟视图添加到LinearLayout,并根据所需的百分比设置其android:layout_权重

假设您需要ImageView占据父视图的50%,请按如下所示修改布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:id="@+id/layoutContainer" android:orientation="vertical">

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="3">

        <ImageView
            android:id="@+id/ivFlag1"
            android:layout_alignParentTop="true"
            android:layout_width="fill_parent" 
            android:layout_height="fil_parent"
            android:layout_marginTop="15dp"
            android:src="@drawable/car_finder_logo" />

        </RelativeLayout>
        <View
            android:layout_width="fill_parent" 
            android:layout_height="fill_parent"
            android:layout_weight="3" />

</LinearLayout> 
只需设置一个LinearLayout,默认情况下,子对象的权重之和为1。 您的LinearLayout(根视图)将有一个子ImageView。例如,要将其高度设置为百分比,只需将布局高度设置为0dp,将布局权重设置为0.3表示30%,将布局权重设置为0.5表示50%。像这样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutContainer"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:weightSum="1" >

<!-- HERE I NEED TO SET PROCENTUAL HEIGHT -->

<ImageView
    android:id="@+id/ivFlag1"
    android:layout_width="200dp"
    android:layout_height="0dp"
    android:layout_weight="0.25"
    android:layout_gravity="center"
    android:src="@drawable/ic_launcher" />
结果是ImageView具有布局高度的25%:

为什么在线性布局中有相对布局?在ImageView中有两次定义布局宽度。这甚至不会编译。