2016-08-05 5 views
0

NativeScriptは新しく、SlackチャンネルではBrad Martin(https://stackoverflow.com/users/1893557/brad-martin)がここから質問しています。だからスラックから聞いて答えないでください。NSアプリケーションの作成に関する複数の質問

お気に入りの曲を追加したり、以前に再生した曲の履歴を表示できる小さなラジオアプリを作成しています。私はAngularを使用していません。なぜなら、彼らは必要がないと私に余裕をもって言っていたからです。

質問1:http://s31.postimg.org/rg36kmnnf/favo.png Fボタンを押すと、そのカードの内容を[お気に入り]タブに移動するにはどうすればよいですか?

質問2:StackLayoutで縦に2枚のカードがあり、電話機が横向きになると、下のカードは画面サイズに縮小されます。私は、スクロールを追加する方法を見つけることができませんでした。

質問3:リストを表示するには、コンテンツを追加するには&を制御しますか?すべてのソリューションはAngularのためのものであり、私はこれのために非角度のソリューションが必要です。ちょうど簡単なサンプル、何も空想。

質問4:JSONファイルをローカル(現在はテスト用)から取得するにはどうすればよいですか?

私を助けてくれて本当にありがとう。

答えて

3

こんにちはSOとNativeScript。最初のアドバイスとして、たくさんの質問をするだけでなく、あなたのアプローチとこれまでに達成したことを示すことを考慮する必要があります。 this guideを使用し、実際にプロジェクトに役立つ回答を受け取る場合は、ガイドラインに従ってください。 質問のいくつかにお答えします。

1.)要素を視覚的に移動する方法を尋ねる場合や、お気に入りアイテムに項目を追加するロジックを作成する必要があるかどうかはわかりません。最初のケースを仮定します: 要素をx座標とy座標から上隅に移動する必要があります。 Animations

page.js

var view = page.getViewById(""my-f-view"); 
view.animate({ 
    translate: { x: 100, y: -100}, 
    duration: 3000 
}); 

項目をタップしたときには、おそらくこのアニメーションをtrigerすることができます。

2)あなたはリストビューまたはリピータを使用することができ、データのリストを表示するにはScrollView

<Page> 
<ScrollView> 
    <StackLayout height="1600"> 
    // some content 
    </StackLayout> 
</ScrollView> 
</Page> 

3)でそれをラップすることができます。 例: page.xml

<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="navigatingTo"> 
    <ListView items="{{ myItems }}" itemTap="listViewItemTap"> 
     <ListView.itemTemplate> 
     <Label text="{{ title || 'Downloading...' }}" textWrap="true" class="title" /> 
     </ListView.itemTemplate> 
    </ListView> 
</Page> 

page.ts(これは活字体プロジェクトの一例であることに注意)

import { EventData, Observable } from "data/observable"; 
import { ObservableArray } from "data/observable-array"; 
import { Page } from "ui/page"; 
import { ItemEventData } from "ui/list-view"; 

import frameModule = require("ui/frame"); 

let viewModel = new Observable(); 
let myItems = new ObservableArray( {title: "Core Concepts"}, 
            {title: "User Interface"}, 
            {title: "Plugins"}, 
            {title: "Cookbook"}, 
            {title: "Tutorials"} ); 

export function navigatingTo(args: EventData) { 

    var page = <Page>args.object; 
    viewModel.set("myItems", myItems); 

    // ListView will be updated automatically when new item is pushed. 
    myItems.push({title:"Publishing"}); 

    page.bindingContext = viewModel; 
} 

export function listViewItemTap(args:ItemEventData) { 
    var itemIndex = args.index; 

    // example how to navigate details-page & pass the tapped item context 
    // frameModule.topmost().navigate({ 
    //  moduleName: "./details-page", 
    //  context: myItems.getItem(itemIndex); 
    // }); 
} 

4)単にあなたのJSONファイルをインポートして、データの種類にそれを解析あなたはあなたの文脈で渡すことが期待されます。類似の説明があるthis SO threadを参照してください。

関連する問題