您可以将视图设置为XML布局文件中另一个视图的属性吗?

时间:2017-10-14 03:44:50

标签: android android-layout nested-properties

我们有一个自定义var idTable3 = $(this).parent().siblings().closest("table").attr("id"); ,其中包含GridViewheaderView个属性。我想知道如果在Android中,可以在布局文件中设置这些属性。

Windows中的XAML使您可以轻松地执行此操作,因为您可以通过属性(对于字符串,数字或其他简单类型等)或通过具有footerView语法的嵌套元素(对于任何对象类型)指定属性

如果Android支持类似的东西,这是一个伪版本:

ControlType:PropertyName

显然上述内容无效。但是有可能在Android中做类似的事情,或者我必须在活动/片段中的代码隐藏中做到这一点吗?

1 个答案:

答案 0 :(得分:1)

是的,你可以。

您可以通过扩展GridView类并通过属性添加一些逻辑来创建Custom View。这不能作为XAML的附加属性(如XAML UWP中的Grid.Column或Grid.Row),但您可以这样做:

<com.teste.widget.MarqueIVGridView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:my_header="@layout/my_header"
/>

不要忘记在布局的根目录添加命名空间:

xmlns:app="http://schemas.android.com/apk/res-auto"

谷歌有这个样本: HeaderGridView

它使用不同的方法,如果你复制这个类,你只需要使用这个“HeaderGridView”并调用addHeaderView方法发送你的标题视图膨胀。

随意提出任何问题,我很乐意回答。