2017-07-09 8 views
0

私はXamarin.Formsアプリケーションを実行したところで問題に遭遇しています。XamarinフォームAndroid固有コードプロジェクトのユニットテスト

現在、私はAndroidサービスをユニットテストしようとしています。

だから、現在、これは私がこの時点で次のようにやった意味:Xamarinは、iOSのプロジェクトとアプリケーションがPCLで

  • 基本フォームが
  • を作成、削除形成

    1. デフォルトはXamarinで作成したスタイルを持っています。フォームPCLは
    2. はそれをやった後Xamarin.Forms.Droidプロジェクト

    における基本的なテーマを持って、私は、Cましたreated Xamarin UITestのAndroidプロジェクト

    は今、私はAndroidのエミュレータで実行する必要がありますユニットテストを起動するたびに、それを見つけることができないXamarin Forms.Droidプロジェクト

    への参照を追加しましたテーマ。 Xamarin.Forms.Droidリソース\値内PCL

    <Application.Resources> 
        <!-- Application resource dictionary --> 
        <ResourceDictionary> 
         <Color x:Key="BackgroundGlobal">#ff333333</Color> 
         <Color x:Key="MidGradient">#ff0d0d0d</Color> 
         <Color x:Key="BottomGradient">Black</Color> 
         <Color x:Key="MenuTextColor">Azure</Color> 
         <Style TargetType="ImageCell" x:Key="Clicky"> 
          <Setter Property="TextColor" Value="{StaticResource MenuTextColor}"/> 
          <Setter Property="DetailColor" Value="Aqua"/> 
         </Style> 
        </ResourceDictionary> 
    </Application.Resources> 
    

    に常駐app.xml内

    \のstrings.xml

    <?xml version="1.0" encoding="utf-8" ?> 
        <resources> 
         <style name="MainTheme" parent="MainTheme.Base"> 
         </style> 
    
         <!-- Base theme applied no matter what API --> 
         <style name="MainTheme.Base" parent="Theme.AppCompat"> 
          <!--If you are using revision 22.1 please use just windowNoTitle. Without android:--> 
          <item name="windowNoTitle">true</item> 
          <!--We will be using the toolbar so no need to show ActionBar--> 
          <item name="windowActionBar">false</item> 
          <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette--> 
          <!-- colorPrimary is used for the default action bar background --> 
          <item name="colorPrimary">#2196F3</item> 
          <!-- colorPrimaryDark is used for the status bar --> 
          <item name="colorPrimaryDark">#1976D2</item> 
          <!-- colorAccent is used as the default value for colorControlActivated 
        which is used to tint widgets --> 
          <item name="colorAccent">#FF4081</item> 
          <!-- You can also set colorControlNormal, colorControlActivated 
        colorControlHighlight and colorSwitchThumbNormal. --> 
          <item name="windowActionModeOverlay">true</item> 
          <item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item> 
         </style> 
         <style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog"> 
          <item name="colorAccent">#FF4081</item> 
         </style> 
        </resources> 
    

    私は現在、次を得る:

    Severity Code Description Project File Line Suppression State Error 
    Error: No resource found that matches the given name (at 'theme' with value '@style/MainTheme'). Xamarin.Forms.Droid.Tests C:\dev\git\example\Xamarin.Forms.Droid.Tests\obj\Debug\android\manifest\AndroidManifest.xml 9 
    
  • +0

    MainThemeはstyles.xmlに存在しますか? Resource - > values - > styles.xmlで見ることができます。 –

    +0

    リクエストごとに、Xamarin.Forms.Droidからpclスタイルと文字列/テーマを示すサンプルを更新しました。また、Testプロジェクトは、Xamarin.Forms.Androidとデフォルトのセットアップであり、テストプロジェクトへのリソース/依存関係もあります。 – KellyTheDev

    答えて

    1

    指定された名前と一致するリソースが見つかりませんでした( 'theme '値で@スタイル/ MainTheme')。

    Resource\Values\strings.xmlは、アプリケーションにオプションのテキストスタイルと書式設定を含むテキスト文字列を提供するだけです。アプリケーションに文字列を提供できるリソースには、String,String ArrayおよびQuantity Strings(Plurals)の3種類のリソースがあります。

    thisのように、styles.xmlの代わりにResource\Values\styles.xmlにテーマスタイルを配置する必要があります。

    Style Resourceの詳細については、documentをお読みください。

    +0

    答えに感謝します。私は昨日私が欲しがっているほど速く反応することができませんでした。とにかく。 '@ style/MainTheme'は完璧でした!私が書いたものを見た後、私は、strings.xmlではなくstyle.xmlの中に物事を持っていることを知りました。どちらの場合でも、私は自分の質問を助けが必要な他の人たちのために残すことに決めました。再度、あなたの助けを借りて非常にありがとう! – KellyTheDev

    関連する問題