Xamarin Android - нет flowlayout?


Я хочу отобразить несколько виджетов с динамическим размером в виде flowlayout, но я не могу найти flowlayout. Действительно ли это не flowlayout в Xamarin для Android как часть фреймворка?

4 5

4 ответа:

Нет, насколько мне известно, в Xamarin Android нет flowlayout.

Наткнулся на эту реализацию

Http://slodge.blogspot.no/2013/01/an-mono-for-android-wrappanelflowlayout.html

Который идеально подходит для моих нужд.

Есть также это от Джейсона Смита из Xamarin, для Xamarin.Формы:

Обертывание.cs

Это код из этого разговора из Xamarin Evolve 16.

В Xamarin Android FlowLayout доступно. Установить NuGet-пакет AndroidFlowLayout Деннис дом. Сделайте xaml таким

<org.apmem.tools.layouts.FlowLayout
android:id="@+id/ControlPanel"
android:padding="0dp"
android:includeFontPadding="false"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

Внесите свой макет потока .cs page & add controls столько, сколько вам нужно. Даже ваш может добавить элементы управления из xaml тоже.

var flaout = view.FindViewById<FlowLayout>(Resource.Id.ControlPanel);
foreach (var item in SenderData)
{
    var checkbox = new CheckBox(Context);
    checkbox.SetCompoundDrawablesWithIntrinsicBounds(Resource.Color.DimGray, 0, 0, 0);
    checkbox.Id = Convert.ToInt32(mailList.Value);
    checkbox.Text=item.Name
    checkbox.ScaleY = 0.8f;
    checkbox.ScaleX = 0.9f;
    flaout.AddView(checkbox);
}