私は素材に似たソートのドロップダウンリストのためにnativescriptプラグインを開発中です。プラグインは、ページにAbsoluteLayoutを追加して背景として機能させ、そのAbsoluteLayoutにListViewを追加して、ピッカーが上に表示されるようにします。また、XMLで定義された位置に置かれるlabelなどのGridViewも追加されます。ここでは、ビューのXMLで使用されているプラグインの例を示します。NativeScriptでのオーバーレイの配置
<GridLayout rows="auto" columns="*, auto">
<StackLayout>
<label text="Color" />
<label style="height: 3; background-color: gray;" />
</StackLayout>
<MDL:MaterialDropdownList col="1" id="ddlColors"
items="{{ colors }}" selectedIndex="{{ selectedColorIndex }}" >
</MDL:MaterialDropdownList>
</GridLayout>
は私がやりたいと思ってることは、それがタップだときMaterialDropdownList
要素の上に直接、リストビューが表示されています。しかし、私はorigin Xとoriginによって、各親要素を通ってページに到達するまで試行しました。そして、私は「2」の超低数を取り戻しました。スニペットは次のとおりです。
let src: viewModule.View = <viewModule.View>arg.object,
x: number, y: number;
x = src.originX;
y = src.originY;
let parent = src.parent;
while (parent !== this.page) {
x += parent.originX;
y += parent.originY;
parent = parent.parent;
}
console.log(`x and y are ${x} and ${y}`); //2, 2
this._listPicker.originX = x;
this._listPicker.originY = y;
大変ありがとうございました!
これは非常にうまくいった!ありがとう! –