2016-09-15 1 views
0

android에서 스타일을 테스트 중이므로 layout_width 또는 height를 상속하지 못합니다.layout_width 및 height를 상속받을 수 없습니다.

이이 내 레이아웃/main.xml에

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <Button 
     android:id="@+id/cmd_OpenPlaces" 
     style="@style/stl_button.bold" 
     android:text="@string/str_cmdOpenPlaces" /> 
    <Button 
     android:id="@+id/OpenSettings" 
     style="@style/stl_button" 
     android:text="@string/str_cmdOpenSettings" /> 
</LinearLayout> 

입니다

<resources> 
    <style name="AppThemeApp" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
     <item name="android:textColor">#002AFF</item> 
     <item name="android:layout_width">match_parent</item> 
     <item name="android:layout_height">wrap_content</item> 
    </style> 
    <style name="AppThemeAct" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
     <item name="android:textColor">#002AFF</item> 
    </style> 
    <style name="stl_button" parent="@android:style/TextAppearance.Medium"> 
     <item name="android:layout_width">match_parent</item> 
     <item name="android:layout_height">wrap_content</item> 
     <item name="android:textColor">#002AFF</item> 
     <item name="android:typeface">serif</item> 
    </style> 
    <style name="stl_button.bold"> 
     <item name="android:textStyle">bold</item> 
    </style> 
</resources> 

값 내 styles.xlm이며,이 내 manifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.programs.squik.myplaces"> 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppThemeApp"> 
     <activity 
      android:name=".MainActivity"> 
      <intent-filter> 
       <action 
        android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".EditPlacesActivity"> 
     </activity> 
    </application> 
</manifest> 

스타일이다 OpenSettings에 대한 괜찮아 보인다; 그러나 cmd_OpenPlaces에 대한 레이아웃 매개 변수는 layout_width 및 height가없는 것에 대해 불평하지만이 매개 변수는 stl_button에서 상속되어야합니다.

나는이

<Button> does not set the required layout_heigth attribute... 

내가 무엇을 놓치고거야?

감사합니다.

+0

코드를 테스트 한 결과 불평하지 않습니다. – Nepster

+0

감사합니다. 매니 페스트를 추가하는 것을 잊어 버렸고 당신이 문제를 제기하지 않았다고 말했기 때문에 나는 그것에 가서 피를 흘 렸습니다. 분명히 제 문제는 그 주제의 이름입니다. AppThemeApp을 사용하지 않습니다. AppTheme이어야합니다. 이제 질문은 어떻게 여러 테마를 정의하고 사용할 수 있습니까? 나는 아직도 뭔가를 놓치고 있다고 느낍니다. 여러 테마를 정의 할 수 있어야합니다. – user2368631

+0

당신이 AppThemeApp과 AppThemeAct를 만들면서 테마를 만들고 매니페스트의 activity 태그에 테마를 설정하십시오. 또는 프로그래밍 방식으로 테마를 설정할 수도 있습니다. 한 번에 하나의 테마를 활동에 연관시킬 수 있습니다. 또한 제작 한 테마가 자신의 활동인지 확인하십시오. 어떤 액티비티가 actionBar을 필요로하기 때문에 actionBar는 actionBar없이 어떤 테마도 사용하지 않는다. – Nepster

답변

0

글쎄, 내 문제를 파악합니다.

android studio editor에는 매니페스트에있는 것과 관계없이 레이아웃을 테마와 연관시키는 레이아웃 디자인 뷰의 도구가 있으며 레이아웃의 XML에 할당 된 테마의 유효성도 검사합니다.

그래서 오류가 발생했습니다. 그러나 일단 설치하고 실행하면 정상적으로 작동합니다. 또한 왜 매니페스트에 설정 한대로 레이아웃 디자인이 변경되지 않는지 설명합니다.

관련 문제