Если изображения имеют переменный размер, вы всегда получите такой эффект. Я предполагаю, что вам нужно установить фиксированный размер для ImageView и дать ему заданный цвет фона - с точки зрения вашего примера черный будет иметь смысл. Оберните вид изображения в FrameLayout или просто вид с желтым фоном и отступом 1px.
РЕДАКТИРОВАТЬ
Я подумал об этом, и мой ответ не был правильным, так что ...
Если вы установите для каждого ImageView фиксированный размер, отступы и поля. а затем, при необходимости, установите цвет фона, чтобы получить желаемый эффект.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#52D017"
android:padding="1dp"
android:layout_margin="5dp"
android:src="@drawable/test1"
tools:ignore="ContentDescription" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="5dp"
android:background="#52D017"
android:padding="1dp"
android:src="@drawable/test2"
tools:ignore="ContentDescription" />
</LinearLayout>
На снимке экрана оба отображаемых изображения имеют ширину менее 100 пикселей и различную высоту.
Это не обрабатывает изображения с прозрачным фоном, так как тогда (в этом случае) желто-зеленый цвет просвечивает. Вы можете решить эту проблему, обернув каждый ImageView в FrameLayout. Создание черного цвета фона ImageView и установка FrameLayout на WrapContent с требуемым заполнением (я думаю)
Хотя DBNull.Value
является статическим только для чтения
и существует только в виде единственного экземпляра ... при десериализации код сериализации будет создавать новый экземпляр класса DBNull
из «данных» в потоке. Поскольку DBNull.Value
является просто экземпляром DBNull
, сериализация не может узнать, что это «особый» экземпляр.
ПРИМЕЧАНИЕ:
Для По той же причине, если вы создадите свой собственный класс с экземпляром singleton, который вы сериализуете, а затем десериализуете, вы получите точно такое же поведение. Хотя десериализованный экземпляр будет неотличим от исходного, они не будут одним и тем же экземпляром .
Ваш код C # не означает вызов метода .Equals . Не тестировав его, я почти уверен, что если вы замените
someObject == DbNull.Value
на
DbNull.Value.Equals(someObject)
, это даст ожидаемый результат. Чтобы немного узнать об операторе равенства и методе Equals, взгляните на: Сообщение в блоге Эрика Липперса по этой теме