2016-03-11 36 views
6

Oto mój projekt:

project

animated_path.xml:

<?xml version="1.0" encoding="utf-8"?> 
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:tools="http://schemas.android.com/tools" 
       android:drawable="@drawable/triangle" 
       tools:targetApi="21"> 
    <target 
     android:name="t" 
     android:animation="@animator/path"/> 
</animated-vector> 

path.xml:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <objectAnimator 
     android:duration="3000" 
     android:propertyName="pathData" 
     android:repeatCount="infinite" 
     android:repeatMode="reverse" 
     android:valueFrom="M 100 100 L 300 100 L 300 300 L 100 300z" 
     android:valueTo="M 100 100 L 300 100 L 200 300 L 200 300z" 
     android:valueType="pathType"/> 
</set> 

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.kycq.reader"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".LoadingActivity" 
      android:theme="@style/ActivityTheme"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
     <activity android:name=".MainActivity" 
      android:theme="@style/ActivityTheme"> 
     </activity> 
    </application> 

</manifest> 

LoadingActivity.java:

public class LoadingActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_loading); 
    } 
} 

activity_loading.xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.kycq.reader.LoadingActivity"> 

</RelativeLayout> 

styles.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
      <!-- Customize your theme here. --> 
      <item name="colorPrimary">@color/colorPrimary</item> 
      <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
      <item name="colorAccent">@color/colorAccent</item> 
     </style> 

build.gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     applicationId "com.kycq.reader" 
     minSdkVersion 14 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
     // enable vectorDrawable 
     vectorDrawables.setUseSupportLibrary(true) 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    // use 23.2.0 
    compile 'com.android.support:appcompat-v7:23.2.0' 
} 

Dlaczego pojawia się błąd podczas używania "animowanego wektora" w wersji beta Androida 2.0?

error

niewiarygodne jest, gdy usunę 'res/animator' i 'animated_path.xml', a następnie odbudować projekt, to działa.

To mnie wariuje, nie wiem dlaczego i jak rozwiązać ten problem, każdy może mi pomóc?

straszne jest, kiedyś to wyrzucić błąd:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kycq.reader/com.kycq.reader.LoadingActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 

ale musiałem ustawić styl 'ActivityTheme' do LoadingActivity.

teraz opublikować projekt na stronie: https://drive.google.com/open?id=0B7cSTEJuaMZBLW9VYWM5X0szVlk

+0

Jaka jest zawartość twojego 'onCreate()'? –

+0

nic, wystarczy ustawićContentView().to throw error at setContentView() –

+0

Czy mógłbyś opublikować projekt '.zip', abyśmy mogli odtworzyć błąd? – RafaelC

Odpowiedz

2

miał podobny problem to rano. Jak to naprawić:

  1. Usuń atrybut poziomu aplikacji z pliku manifestu Android android:theme="@style/AppTheme".
  2. poziom dodawania aktywność atrybutów zamiast tak:

    [Activity(MainLauncher = true, Theme = "@style/AppTheme")] 
    
+0

działa to jednak preferowany/normalny Android sposobem na to jest dodanie tematu w manifeście: ' ... – Lovis