我想在MvvmCross中使用Droid.Dialog创建我的整个应用程序的UI。更具体地说,设置背景图像,然后将标题图像添加到视图中,以及输入字段和按钮。
我很难尝试将标题图片放入视图中。首先,这是一个线框,解释了标题图片的含义:
我设法使用:
设置背景渐变图像 using (var drawable = Resources.GetDrawable(Resource.Drawable.Backgroud))
Window.SetBackgroundDrawable(drawable);
然后我尝试使用Cirrious.MvvmCross.Dialog.Droid
这样的东西添加标题图片:
var img = new ImageView(this.BaseContext);
img.LayoutParameters = new Gallery.LayoutParams(330, 110);
img.SetImageResource(Resource.Drawable.Header);
Root = new RootElement()
{
new Section(){new ImageElement(img)}
};
但是,图像在UI中显示为微小斑点。
在AXML
中执行此操作我会将图像设置如下:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_centerInParent="true"
android:orientation="vertical">
<ImageView
android:layout_width="330dp"
android:layout_height="110dp"
android:src="@drawable/Header" />
</LinearLayout>
我基本上不知道如何弄清楚如何将图像放入屏幕顶部的视图并使用正确的尺寸!
非常感谢任何帮助。或者我最好分别使用原生AXML和IB创建视图?
答案 0 :(得分:0)
如果您查看ImageElement
内部的内容以及使用ImageView
参数调用ctor时会发生什么,那么您将发现图像缩放为48x44。
private const int dimx = 48;
private const int dimy = 44;
...
private ImageView Scale(ImageView source)
{
var drawable = (BitmapDrawable) source.Drawable;
var bitmap = drawable.Bitmap;
var bMapScaled = Bitmap.CreateScaledBitmap(bitmap, dimx, dimy, true);
source.SetImageBitmap(bMapScaled);
return source;
}
所以你有几个选择:
ImageView