Android将procentual size设置为imageView
我想问一下如何设置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
<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中有两次定义布局宽度。这甚至不会编译。