是否可以通过使用例如另一个元素值的百分比来设置高度,宽度和边距等值。例如,将一个元素的宽度设置为另一个元素的宽度。
我不会在编程时或在axml代码中烦恼。
目前我一直试图以编程方式执行此操作:
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
var metrics = Resources.DisplayMetrics;
var widthInDp = ConvertPixelsToDp(metrics.WidthPixels);
var heightInDp = ConvertPixelsToDp(metrics.HeightPixels);
SetContentView (Resource.Layout.Main);
//Set title width as 98% of total width
ImageView title_img = FindViewById<ImageView> (Resource.Id.apptitle);
LinearLayout baseparent = FindViewById<LinearLayout> (Resource.Id.baselayout);
title_img.LayoutParameters.Width = (baseparent.Width / 100) * 98 ;
//Set welcome width as half of title width
ImageView welcome_img = FindViewById<ImageView> (Resource.Id.welcome);
welcome_img.LayoutParameters.Width = title_img.Width/2;
}
private int ConvertPixelsToDp(float pixelValue)
{
var dp = (int) ((pixelValue)/Resources.DisplayMetrics.Density);
return dp;
}
答案 0 :(得分:0)
执行此操作的一种方法是在线性布局中使用android:layout_weight
参数。例如,要使一个元素的大小是第二个元素的两倍,您可以这样做:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:background="#FF0000"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:layout_weight="2" />
<LinearLayout android:background="#00FF00"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:layout_weight="1" />
</LinearLayout>
在article here上可以找到更多相关内容。