programing

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

nasanasas 2020. 9. 28. 09:15
반응형

Android 레이아웃 파일에서 "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 편집기가 레이아웃 미리보기를 렌더링하는 데 사용하는 활동입니다. 여기에 문서화되어 있습니다 .

이 속성은이 레이아웃이 기본적으로 연결된 활동을 선언합니다. 이렇게하면 레이아웃 테마가 미리보기에 있어야하며 빠른 수정에서 만들 때 onClick 처리기를 삽입 할 위치와 같은 활동에 대한 지식이 필요한 편집기 또는 레이아웃 미리보기의 기능이 활성화됩니다.


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

지금은 한 가지 용도로만 사용하고 있습니다. 레이아웃에 표시 할 올바른 테마 선택 (매니페스트 파일이 활동 에 사용할 테마를 등록 할 수 있으므로 레이아웃과 관련된 활동을 알게되면 선택할 수 있습니다. 레이아웃에 표시 할 올바른 테마). 앞으로이 기능을 사용하여 작업 표시 줄 렌더링 (활동과 연관된), onClick 핸들러 추가 위치 등과 같은 추가 기능을 구동 할 것입니다.

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

(여기에 자세한 내용 있는 전체 변경 세트가 있습니다. )

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

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


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

도구 : 컨텍스트

이 속성은 일반적으로 레이아웃 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.Only ADTLayout Editor 로 패키징되지 않고 해당 렌더링 컨텍스트를 설정하고 컨텍스트를 렌더링 할 때 현재 레이아웃을 보여줍니다. manifest파일 의 활동 이 테마를 설정 하면 활동 이름이 활동에 해당 합니다. ADTLayout Editor는 MainActivity테마 에 따라 현재 레이아웃을 렌더링합니다 . 테마를 설정하면 의미합니다. The Light (다른 하나), 당신은 시각적 레이아웃 관리자에서 테마가되어야 할 배경 제어를 볼 수 있습니다. 빛은 당신이 보는 것을 보여주기 위해서만 당신이 결과를 얻는 것입니다.

어떤 사람들은 어떤 사람들은 이해할 것이고 어떤 사람들은 모르는 사람들도 볼 수 있습니다. 저는 몇 마디 설명을 추가하겠습니다.

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" />

enter image description here

TextView1을 채택 android: text하고를 사용 tools:textTextView표시 할 레이아웃 편집기의 오른쪽에, 2 sample name1sample name2생성 컴파일하는 코드를 실행 한 후 경우, 두 개의 글꼴 apk만, 터미널 표시 sample name1는 표시되지 않습니다 sample name2말을. 실행을 시도하고 효과를 볼 수 있습니다.

3. 구체적인 설명

1. tools: context = "activity name"그것은 패키지되지 않을 것입니다 apk(이해 : 이것과 동등한 것은 주석 처리되어 있으며 컴파일 된 효과는 없습니다.)

2.Only ADT Layout Editor (i.e., for the above icon on the right side of the simulator) in the current Layout file set corresponding rendering context, the Layout of the current XML in rendering the context is the activity name corresponds to the activity, if the activity in the manifest file set a Theme, then ADT Layout Editor will render your current Layout according to the Theme.Means that if you set the MainActivity set a Theme. The Light can also be (other).(understand: you added tools: context = "activity name", the XML layout is rendering specified activity, establishes a Theme in the manifest file, pictured above right simulator Theme style will also follow changes corresponding to the Theme.)

4.summary

To sum up, these properties mainly aimed at above the right tools, the simulator debugging time display status, and compile doesn't work,


“tools:context” is one of the Design Attributes that can facilitate layout creation in XML in the development framework. This attribute is used to show the development framework what activity class is picked for implementing the layout. Using “tools:context”, Android Studio chooses the necessary theme for the preview automatically.

If you’d like to know more about some other attributes and useful tools for Android app development, take a look at this review: http://cases.azoft.com/4-must-know-tools-for-effective-android-development/


This is best solution : https://developer.android.com/studio/write/tool-attributes

This is design attributes we can set activty context in xml like

tools:context=".activity.ActivityName"

Adapter:

tools:context="com.PackegaName.AdapterName"

enter image description here

You can navigate to java class when clicking on the marked icon and tools have more features like

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

etx


tools:context=".MainActivity" thisline is used in xml file which indicate that which java source file is used to access this xml file. it means show this xml preview for perticular java files.

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

반응형