programing

안드로이드 레이아웃 파일에서 "tools:context"는 무엇입니까?

padding 2023. 6. 2. 20:11
반응형

안드로이드 레이아웃 파일에서 "tools:context"는 무엇입니까?

ADT의 최신 버전부터 레이아웃 XML 파일에 다음과 같은 새로운 속성이 표시됩니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".MainActivity" />

"tools:context"는 무엇에 사용됩니까?

어떻게 거기에 쓰여진 활동의 정확한 경로를 알 수 있습니까?매니페스트 안에 있는 앱의 패키지를 보는 건가요?

컨텍스트를 확장하는 클래스로 제한됩니까, 아니면 활동으로만 제한됩니까?ListView 항목 등에 사용할 수 있습니까?

이것은 UI 편집기가 레이아웃 미리 보기를 렌더링하는 데 사용하는 활동입니다.여기에 설명되어 있습니다.

이 속성은 이 레이아웃이 기본적으로 연결된 활동을 선언합니다.이렇게 하면 미리보기에서 레이아웃 테마를 지정해야 하는 위치, 빠른 수정으로 만들 때 핸들러를 클릭하는 등 활동에 대한 지식이 필요한 편집기 또는 레이아웃 미리보기의 기능을 사용할 수 있습니다.

이 속성은 기본적으로 레이아웃 위의 "관련 활동" 선택에 대한 지속성입니다.런타임에 레이아웃은 항상 활동과 연결됩니다.물론 둘 이상과 연관될 수 있지만 적어도 하나는 연관될 수 있습니다.도구에서 특정 기능을 사용하려면 이 매핑(실행 시간에 다른 방향으로 발생하며 활동이 setContentView(레이아웃)를 호출하여 레이아웃을 표시할 수 있음)에 대해 알아야 합니다.

현재는 레이아웃에 대해 표시할 테마를 선택하는 것(매니페스트 파일이 활동에 사용할 테마를 등록할 수 있고 레이아웃과 관련된 활동을 알게 되면 레이아웃에 대해 표시할 테마를 선택할 수 있기 때문) 한 가지 용도로만 사용하고 있습니다.나중에 이 기능을 사용하여 수행 표시줄 렌더링(활동과 연결됨), 클릭 핸들러에 추가할 위치 등과 같은 추가 기능을 구동할 수 있습니다.

이것이 도구: 네임스페이스 특성인 이유는 도구에서 사용하기 위한 설계 시간 매핑일 뿐이기 때문입니다.레이아웃 자체는 여러 활동/조각 등에서 사용할 수 있습니다.예를 들어 올바른 테마를 보여줄 수 있는 디자인 타임 바인딩을 선택할 수 있는 방법을 제공합니다. 목록 보기 및 조각 바인딩 등을 변경할 수 있는 것처럼 언제든지 변경할 수 있습니다.

(자세한 내용이 나와 있는 전체 변경사항 집합입니다.)

, Nikolay가 위에 나열한 링크는 새로운 구성 선택기가 어떻게 보이고 작동하는지 보여줍니다.

한가지 더:도구 네임스페이스는 특수합니다.Android 패키징 도구는 이를 무시할 수 있음을 알고 있으므로 이러한 속성은 APK에 패키징되지 않습니다.레이아웃의 추가 메타데이터에 사용하고 있습니다.또한 예를 들어 보풀 경고를 억제하는 속성이 저장됩니다. 예를 들어 tools:ignore로 저장됩니다).

Android Tools 프로젝트 사이트에 따르면:

도구:추가

이 속성은 일반적으로 레이아웃 XML 파일의 루트 요소에 설정되며, 레이아웃과 관련된 활동을 기록합니다(설계 시에는 레이아웃이 둘 이상의 레이아웃에서 사용될 수 있으므로).예를 들어, 테마는 매니페스트에 정의되어 있고 레이아웃이 아닌 활동과 연결되어 있기 때문에 레이아웃 편집기에서 기본 테마를 추측하는 데 사용됩니다.매니페스트와 동일한 도트 접두사를 사용하여 전체 응용 프로그램 패키지 이름 없이 작업 클래스를 접두사로 지정할 수 있습니다.

<android.support.v7.widget.GridLayout
    xmlns:android="http://schemas.android.com/apk/res/android"    
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">  

사용자: Studio & Eclipse, Lint의 레이아웃 편집기

1.설명

tools: context = "activity name"그것은 포장되지 않을 것입니다.apk .직오.ADT컨텍스트에서 Layout Editor를 합니다. Layout Editor(레이아웃 편집기), Layout(레이아웃)에 에 해당하는 경우 시 현재 입니다. 컨텍스트의 활동이 활동에 해당하는 경우,manifest a에 파로테설정한다음를마일▁file다.ADT레이아웃 편집기는 테마에 따라 현재 레이아웃을 렌더링합니다.즉, 다음을 설정하면MainActivity테마를 설정합니다.조명(다른 하나)은 시각적 레이아웃 관리자에서 테마가 되어야 하는 배경 제어를 볼 수 있습니다.빛은 다음과 같습니다.보이는 것을 보여주는 것만이 결과입니다.

어떤 사람들은 어떤 사람들은 이해할 것이라고 보고, 어떤 사람들은 또한 모른다고 봅니다. 저는 몇 마디 설명을 덧붙이겠습니다.

2.샘플

간단한 방법을 생각해 보십시오.tools:text예를 들어, 더 많은 이미지, 더 많은 것을 이해하는 것이 편리합니다.tools:context

<TextView
    android:id="@+id/text1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="sample name1" />

<TextView
    android:id="@+id/text2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:text="sample name2" />

여기에 이미지 설명 입력

TextView1은 채택했습니다.android: text다음을 사용합니다.tools:text에 시대에TextView Layout 2, Layout Editor(레이아웃 편집기)가 됩니다.sample name1,sample name2한 후 된 두 컴일할코실후생두글꼴된성한입니다.apk는 터널디레만이플스만 합니다.sample name1.sample name2볼 수 .어떻게 효과가 나타나는지 보고 도망갈 수도 있습니다.

3.구체적인 설명

.1987년tools: context = "activity name"그것은 포장되지 않을 것입니다.apk(이해: 이와 동등한 내용이 주석으로 표시되지만 컴파일된 내용은 효과가 없습니다.)

단 2개.오직ADT 편집기(시뮬레이터 렌더링 에서, 때입니다. 활동이 를 설정하면 입니다. 시뮬레이터 오른쪽에 있는 위 아이콘의 경우) 현재 레이아웃 파일 세트에 해당하는 렌더링 컨텍스트에서 컨텍스트를 렌더링할 때 현재 XML의 레이아웃은 매니페스트 파일의 활동이 테마를 설정한 경우 활동에 해당하는 활동 이름입니다.ADT레이아웃 편집기는 테마에 따라 현재 레이아웃을 렌더링합니다.즉, 다음을 설정하면MainActivity테마를 설정합니다.조명은 (기타)일 수도 있습니다.(이해: 당신이 추가했습니다.tools: context = "activity name"XML 레이아웃이 지정된 활동을 렌더링하고 있으며, 오른쪽 시뮬레이터 위에 있는 매니페스트 파일에 테마를 설정합니다. 테마 스타일도 테마에 해당하는 변경 사항을 따릅니다.)

4.1987년

요약하자면, 이 속성들은 주로 올바른 툴 위를 목표로 하고, 시뮬레이터 디버깅 시간 표시 상태, 컴파일이 작동하지 않습니다.

"tools:context"는 개발 프레임워크에서 XML로 레이아웃을 쉽게 만들 수 있는 설계 속성 중 하나입니다.이 속성은 레이아웃을 구현하기 위해 선택된 활동 클래스를 개발 프레임워크에 표시하는 데 사용됩니다.Android Studio는 "tools:context"를 사용하여 미리보기에 필요한 테마를 자동으로 선택합니다.

Android 앱 개발을 위한 몇 가지 다른 특성과 유용한 도구에 대해 더 알고 싶다면, 이 리뷰를 보십시오. http://cases.azoft.com/4-must-know-tools-for-effective-android-development/

이것이 최선의 해결책입니다. https://developer.android.com/studio/write/tool-attributes

이것은 우리가 xml에서 설정할 수 있는 디자인 속성입니다.

tools:context=".activity.ActivityName"

어댑터:

tools:context="com.PackegaName.AdapterName"

여기에 이미지 설명 입력

표시된 아이콘을 클릭하면 Java 클래스로 이동할 수 있으며 도구에는 다음과 같은 추가 기능이 있습니다.

tools:text=""
tools:visibility:""
tools:listItems=""//for recycler view 

에텍스

tools:context=".MainActivity"xml 파일에 대한 xml 미리 보기합니다. 특정 파일에 보기를 합니다.즉, 특정 Java 파일에 대해 이 xml 미리 보기를 표시합니다.

<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    //more views

</androidx.constraintlayout.widget.ConstraintLayout>

위의 코드에서 tools:context의 기본적인 필요성은 레이아웃 파일이 기본적으로 연결된 활동 또는 조각을 알려주는 것입니다.따라서 매니페스트 파일에서 사용된 것과 동일한 점 접두사를 사용하여 활동 클래스 이름을 지정할 수 있습니다.

이렇게 하면 Android Studio에서 미리 보기에 필요한 테마를 자동으로 선택하고 미리 보기 설정을 수동으로 수행할 필요가 없습니다.레이아웃 파일은 여러 활동과 연결될 수 있지만 테마는 매니페스트 파일에 정의되어 있으며 이러한 테마는 사용자의 활동과 연결됩니다.따라서 레이아웃 파일에 도구: 컨텍스트를 추가하면 Android Studio 미리 보기에서 필요한 테마를 자동으로 선택할 수 있습니다.

이 속성은 레이아웃과 관련된 활동에 대한 최상의 지식을 얻는 데 도움이 됩니다.이 기능은 QuickFix를 사용하여 보기에 onClick 핸들러를 추가해야 할 경우에도 유용합니다.

tools:context=".MainActivity"

developer.android.com 에 따르면

용도:임의의 루트<View>

사용자: 린트, Android Studio 레이아웃 편집기

이 속성은 이 레이아웃이 기본적으로 연결된 활동을 선언합니다.이렇게 하면 미리보기에서 레이아웃 테마를 지정해야 하는 항목과 빠른 수정으로 만들 때 클릭 핸들러를 삽입할 위치(그림 2)와 같은 활동에 대한 지식이 필요한 편집기 또는 레이아웃 미리보기 기능을 사용할 수 있습니다.

여기에 이미지 설명 입력

그림 2.onClick 속성에 대한 빠른 수정은 도구를 설정한 경우에만 작동합니다. 컨텍스트

매니페스트 파일과 동일한 도트 접두사를 사용하여 활동 클래스 이름을 지정할 수 있습니다(전체 패키지 이름 제외).예:

<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity" >

다른 답변이 누락된 한 가지는 컨텍스트를 확장하는 모든 클래스에서 사용할 수 있는 모든 클래스의 컨텍스트 부분입니다.

tools:context는 Android Studio와 Android Gradle 플러그인에 도입된 특성입니다.레이아웃 파일에서 레이아웃이 사용될 컨텍스트를 지정하는 데 사용됩니다.

도구 네임스페이스는 런타임에 사용되지 않는 특성을 지정하는 데 사용되지만 Android Studio 레이아웃 편집기 및 기타 도구를 사용하여 레이아웃이 렌더링되는 방식을 보다 잘 제어할 수 있습니다.tools:context 특성을 사용하면 레이아웃의 컨텍스트를 나타내는 Java 클래스의 정규화된 이름을 지정할 수 있습니다.레이아웃 편집기에서 레이아웃을 렌더링할 때 레이아웃에 적용할 테마와 속성을 결정하는 데 사용됩니다.

매니페스트 안에 있는 앱 패키지를 보고 있습니다.여기에 기록된 활동에 대한 정확한 경로를 알기 위해 사용됩니다.

tools:context 특성은 활동, 서비스 또는 응용프로그램과 같이 컨텍스트를 확장하는 모든 클래스에서 사용할 수 있습니다.그러나 대부분의 앱의 주 진입점이기 때문에 활동 클래스에서 가장 일반적으로 사용됩니다.

컨텍스트 특성은 활동에만 국한되지 않으며 컨텍스트를 확장하는 모든 Java 클래스에 사용할 수 있습니다.ListView 항목과 같이 모든 컨텍스트 기반 클래스에 사용할 수 있지만 대부분 활동에 사용됩니다.

이 속성은 이 레이아웃이 기본적으로 연결된 활동을 선언합니다.이렇게 하면 활동에 대한 지식이 필요한 편집기 또는 레이아웃 미리보기 기능을 사용할 수 있습니다.

언급URL : https://stackoverflow.com/questions/11078487/whats-toolscontext-in-android-layout-files

반응형