Android,如何在relativelayout中设置具有百分比的imageview

我想建立一个像这样的http://postimg.cc/image/fihidv1rv/的用户界面。 这是我的xml代码,对于我的设计,我希望“EFFECT”和“CAMERA”在链接中组合成一个像“SHOP”的ImageView ,这样就会有5个ImageView ,我设置了id作为命名在链接中

问题是,如何设置高度和宽度百分比?

效果+ camrea:高度25%,宽度100%

拼贴:高度25%,宽度50%

绘制:高度25%,宽度50%

照片:身高50%,宽50%

店铺:高度25%,宽度100%

        

你可以考虑在布局http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html#attr_android:layout_weight中使用android:layout_weight param

                     

在Xml中很难,你可以通过代码做一些计算。 怎么做:

  • 获取mainContent高度和宽度,这是您的父视图。
  • GetLayoutparams每个imageVIew,并通过计算百分比高度和宽度设置高度和宽度

示例代码:(在活动中)

 final View parentView= findViewById(R.id.mainContent); final ImageView effect_camera= (ImageView)findViewById(R.id.img_effect+camera); effect_camera.post(new Runnable(){ @Override public void run(){ int height=parentView.getHeight(); int width=parentView.getWidth(); RelativeLayout.LayoutParams lp= (RelativeLayout.LayoutParams)effect_camera.getLayoutParams(); int percentHeight=height*.25; int percentWidth= width*1; lp.height=percentHeight; lp.width=percentWidth; effect_camera.setLayoutParams(lp); } });