gpt4 book ai didi

android - 用于 LinearLayout Gravity 的 Droid ValueConverter

转载 作者:行者123 更新时间:2023-11-29 20:59:30 25 4
gpt4 key购买 nike

我正在开发一个包含 ListView 的应用程序。 ListView 上的项目应位于屏幕的左侧或右侧,具体取决于项目的内容。所以我创建了一个转换器来检查项目并设置 LinearLayout 重力。正在调用转换器并且它“正确”地向右或向左返回,但未设置 LinearLayout。线性布局如下:

<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="#FFFFFF"
local:MvxBind="Gravity Content, Converter=MessageAlign">

转换器我尝试了两种不同的方式,一种使用 GravityFlags,另一种使用字符串:

public class MessageAlignConverter : MvxValueConverter<string, GravityFlags>
{
protected override GravityFlags Convert(string value, Type targetType, object parameter, CultureInfo culture)
{
if (My Test)
{
return GravityFlags.Right;
}
return GravityFlags.Left;
}
}

public class MessageAlignConverter : MvxValueConverter<string, string>
{
protected override string Convert(string value, Type targetType, object parameter, CultureInfo culture)
{
if (My Test)
{
return "right";
}
return "left";
}
}

它们都不起作用,所以我检查了 LinkerPleaseInclude。我尝试添加 LinkerPleaseInclude 但我无法获得当前重力,对于一个按钮(例如)我会这样做:

public void Include(Button button)
{
button.Click += (s,e) => button.Text = button.Text + "";
}

所以我为 LinearLayout 设想了这样的东西:

public void Include(LinearLayout linearLayout)
{
linearLayout.SetGravity(linearLayout.Gravity?);
}

关于如何做到这一点有什么想法吗?

忘记提及输出:

MvxBind:Warning:  6.00 Failed to create target binding for binding Gravity for Content
[0:] MvxBind:Warning: 6.00 Failed to create target binding for binding Gravity for Content
10-26 15:43:51.796 I/mono-stdout(11936): MvxBind:Warning: 6.00 Failed to create target binding for binding Gravity for Content

谢谢!

最佳答案

首先,我认为您应该使用值转换器的第一个版本(返回 GravityFlags 的那个)

其次,在应用程序输出中,您是否看到任何调试文本表明它无法绑定(bind)到内容?如果您不这样做,那么就没有理由考虑 LinkerPleaseInclude。

第三,您没有展示如何在 AXML 中定义 ListView,因此请确保您的 UI 没有任何问题。如果您将 Mvx.Bind 绑定(bind)替换为将 android:gravity 硬编码为一个值,该项目是否正确显示?

编辑:使用定义您自己的绑定(bind)来设置重力: In MvvmCross how do I do custom bind properties

关于android - 用于 LinearLayout Gravity 的 Droid ValueConverter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26557319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com