Program Club

styles.xml과 themes.xml의 차이점은 무엇입니까?

proclub 2020. 12. 15. 19:31
반응형

styles.xml과 themes.xml의 차이점은 무엇입니까?


styles.xml의 차이점이 무엇인지 알 수 themes.xml있습니까? 나에게는 두 XML이 동일한 형식이므로 똑같이 보입니다.

<style name="...
    <item name="...

그래서, 내 응용 프로그램에서, ... 사용자 정의 색상, 크기, 당김을 제공 내가 둘 필요합니까되는 styles.xmlthemes.xml도를? 어떤 파일에 넣을 XML을 어떻게 결정해야합니까?


스타일 및 테마 의 전체 페이지에서 . 이 라인을 찾고있을 수 있습니다.

레이아웃의 단일 뷰에 스타일을 적용하면 스타일에 정의 된 속성이 해당 뷰에만 적용됩니다. 스타일이 ViewGroup에 적용되면 자식 View 요소는 스타일 속성을 상속하지 않으며 스타일을 직접 적용한 요소 만 속성을 적용합니다. 그러나 스타일을 테마로 적용하여 모든 View 요소에 적용되도록 스타일을 적용 할 수 있습니다.

테마로 적용하면 Activity 또는 Application에 적용했는지에 따라 범위의 모든 것이 변경됩니다. 스타일은 더 '지역적'입니다.


Android API 가이드에서 인용 :

스타일 세트를 만들려면 res/values/프로젝트 디렉토리에 XML 파일을 저장합니다 . XML 파일의 이름은 임의적이지만 .xml확장자 를 사용 하고 res/values/폴더에 저장해야 합니다. XML 파일의 루트 노드는 <resources>.

전체 문서

그래서 res/values/폴더에 있는 xml 파일 인 한 어떤 파일에 어떤 스타일을 넣어도 상관 없다고 생각 합니다.


많은 답변이 지적했듯이 styles.xml과 themes.xml 사이에는 기능적 차이가 없습니다.

Google의 iosched2014 앱에는 styles.xml (themes.xml 없음) 만 있습니다.

https://github.com/google/iosched


스타일 정의 섹션 스타일 및 테마 문서에서 가져옴 :

스타일 세트를 만들려면 프로젝트의 res / values ​​/ 디렉토리에 XML 파일을 저장합니다. XML 파일의 이름은 임의적이지만 .xml 확장자를 사용해야하며 res / values ​​/ 폴더에 저장해야합니다.

The root node of the XML file must be <resources>.

예를 들어 툴바 텍스트 색상은 테마 선언으로 이동하고 다른 측면은 스타일 선언으로 이동한다는 것을 깨달았습니다.

<style name="ToolbarTheme" parent="ThemeOverlay.AppCompat.Light">
    <item name="android:textColorPrimary">@android:color/white</item>
    <item name="android:textColorSecondary">@android:color/white</item>
</style>

<style name="ToolbarStyle" parent="Base.Widget.AppCompat.Toolbar">
    <item name="android:minHeight">?attr/actionBarSize</item>
    <item name="android:background">@color/colorPrimary</item>
</style>

그리고 툴바 선언에서

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="@style/ToolbarStyle"
    android:theme="@style/ToolbarTheme">
</android.support.v7.widget.Toolbar>

항목을 스타일로 옮겨 테마를 생략하려고했지만 작동하지 않았습니다. 따라서이 경우 텍스트 필드와 같은 도구 모음의 상속 된 자식에 영향을 미치기 때문에 테마와 같은 스타일 인 것처럼 보입니다.


안녕하세요 여기에 안드로이드의 스타일과 테마 XML의 차이에 관한 기사입니다 통해 이동하시기 바랍니다가

또한 여기에는 Android의 스타일 및 테마에 관한 Android 문서 가 있습니다.

참조 URL : https://stackoverflow.com/questions/15170421/what-is-difference-among-styles-xml-and-themes-xml

반응형