Android Layout xml'deki yorumlar


148

Düzen XML dosyalarına bazı yorumlar girmek istiyorum, bunu nasıl yapacağım?

Yanıtlar:


253

Diğerinin söylediği gibi, XML'deki yorum şuna benzer

<!-- this is a comment -->

Birden çok satıra yayılabileceklerine dikkat edin

<!--
    This is a comment
    on multiple lines
-->

Ama iç içe olamazlar

<!-- This <!-- is a comment --> This is not -->

Ayrıca bunları etiketlerin içinde kullanamazsınız

<EditText <!--This is not valid--> android:layout_width="fill_parent" />

3
Ayrıca bir yorumda çift tire olamaz veya XML ayrıştırıcı şikayet eder <! - bu - bir soruna neden olur ama bu - olmaz ->
Martin Belcher - AtWrk

Eclipse kullanıyorsanız, XML dosyasını açabilir, imleci yorumun olmasını istediğiniz yere yerleştirebilir, üst menüden Kaynak -> Blok Açıklama Ekle'yi seçebilirsiniz. Ayrıca, "ctrl + shft + /" (yani, kontrol ve üst karakter tuşunu basılı tutun, ardından eğik çizgi tuşuna basın). Yorum kodu, imleciniz ortada olacak şekilde oluşturulacaktır, böylece yazmaya başlayabilirsiniz.
LeBeau

7
> Ayrıca bunları etiketlerin içinde kullanamazsınız. Gerçekten çok talihsiz.
linuxjava

40

World Wide Web Consortium (W3C) aslında bir yorum arayüzü tanımladı. Tanım diyor all the characters between the starting ' <!--' and ending '-->' form a part of comment content and no lexical check is done on the content of a comment.

Developer.android.com sitesinde daha fazla ayrıntı mevcuttur .

Böylece, yorumunuzu herhangi bir başlangıç ​​ve bitiş etiketinin arasına ekleyebilirsiniz. Eclipse IDE'de sadece yazmak <!--, yorumu sizin için otomatik olarak tamamlar. Daha sonra arasına yorum metninizi ekleyebilirsiniz.

Örneğin:

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

 <!-- This is a comment -->

</LinearLayout>

Özellikle bahsetmenin amacı, in betweenonu bir etiket içinde kullanamamaktır.

Örneğin:

<TextView 
    android:text="@string/game_title"
    <!-- This is a comment -->
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"/>

yanlıştır ve aşağıdaki hatayı verecektir

 Element type "TextView" must be followed by either attribute specifications, ">" or "/>".

1
Not: Etiketlerin içinde yorum yok. Seçilen cevap bu olmalı
Eslam Sameh Ahmed

1
Android Studio ekibine bir geliştirme gönderdi. Veri bağlamayı kullanırsam ve bazı veri bağlama mantığı yazdığım XML'de bir satırı yorumlamak istersem, başka bir yere yorum yapmam gerekir ve bu, görünürlük veya yorumun hangi kısmına atıfta bulunulduğuna yardımcı olmaz. Bu, yapılması imkansız olması gereken bir şey değildir ve bizim (geliştiriciler) kullanmamız için etkinleştirilmelidir.
Chapz

19

XML yorumları ile başlar <!--ve ile biter -->.

Örneğin:

<!-- This is a comment. -->

10

Bunu yapmanın iki yolu var

  1. Yorumunuza ile başlayın ve "<!--"ardından "ile sonlandırın-->"

    Misal <!-- my comment goes here -->

  2. Yorum yapmak istediğiniz bölümü vurgulayın ve CTRL + SHIFT + / tuşlarına basın.


9

ctrl + shift + / Kodu yorumlayabilirsiniz.

<!--    
     <View
          android:layout_marginTop="@dimen/d10dp"
          android:id="@+id/view1"
          android:layout_below="@+id/tv_change_password"
          android:layout_width="fill_parent"
          android:layout_height="1dp"
          android:background="#c0c0c0"/>-->


5

Yorumlar İÇİNDE etiketler mümkündür

Yorum yapma / dokümantasyon amacıyla kullanılabilecek özel nitelikler oluşturmak mümkündür.

Aşağıdaki örnekte, documentation:infoörnek bir yorum değeriyle bir öznitelik tanımlanmıştır:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:documentation="documentation.mycompany.com"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/relLayoutID"
    documentation:info="This is an example comment" >

    <TextView
        documentation:purpose="Instructions label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click here to begin."
        android:id="@+id/tvMyLabel"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true"
        documentation:info="Another example comment"
        documentation:translation_notes="This control should use the fewest characters possible, as space is limited"
        />

</RelativeLayout>

Bu durumda, documentation.mycompany.comyalnızca yeni özel XML ad alanı için bir tanım olduğunu documentationve bu nedenle yalnızca benzersiz bir URI dizesi olduğunu unutmayın - benzersiz olduğu sürece herhangi bir şey olabilir. Öğesinin documentationsağ xmlns:tarafı da herhangi bir şey olabilir - bu,android: XML ad alanı tanımlanmış ve kullanılmıştır.

Bu biçimi kullanarak, bir açıklama değeriyle birlikte documentation:info, documentation:translation_notesvb. Gibi herhangi bir sayıda öznitelik oluşturulabilir ; biçim, herhangi bir XML özniteliğiyle aynıdır.

Özetle:

  • Ekle xmls:my_new_namespaceXML düzen dosyasındaki kök (üst düzey) XML öğesine nitelik . Değerini benzersiz bir dizeye ayarlayın
  • Dosyadaki herhangi bir alt XML öğesinin altında, derlendiğinde yok sayılan yorum etiketlerini tanımlamak için yeni ad alanını ve takip eden herhangi bir sözcüğü kullanın. <TextView my_new_namespace:my_new_doc_property="description" />

1
Bu özniteliklerin, derleme işlemi sırasında atılmayacağını, bunun yerine sonuçta ortaya çıkan APK içinde depolanacağını unutmayın. tools:Bunun yerine, atılacak özel ad alanını kullanmayı düşünün . (Muhtemelen bu cevap yayınlandığında mevcut değildi, ancak bu sayfa yeni izleyiciler
kazanmaya

@j__m Bu iyi bir nokta. ProGuard'ın bunu otomatik olarak mı yoksa biraz yapılandırmayla mı kaldırabileceğine
bakmadım

4

Yorum yapmak istersen Android Studio sadece şuna basın:

Ctrl+ /Windows / Linux'ta

Cmd+ /Mac'te.

Bu, XML dosyalarında olduğu strings.xmlgibi MainActivity.java.


4

tıkla

ctrl + üst karakter + /

ve siz her şeyi yazın ve her şey yorumlarda yer alsın


0

ayrıca bir satır için Ctrl + shift + / ve shift + / tuşlarına basarak da yorum ekleyebilirsiniz.


-1

İnanılmaz bir şekilde, 2019'da Android studio 3.3 ile (tam sürümünü bilmiyorum, en az 3.3), xml'ye çift eğik çizgi yorum kullanmak mümkün.

Ancak xml'de çift eğik çizgi yorumu kullanırsanız, IDE uyarı gösterir.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    // this works

    /* this works too */

    /*
    multi line comment
    multi line comment
    */

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World! yeah"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

Uyarı gösterecektir Unexpected text found in layout file: ....
CoolMind

-2

Federico Culloca'nın notundan:

Ayrıca bunları etiketlerin içinde kullanamazsınız

Anlamına geliyor; yorumu dosyanın üstüne veya altına koymanız gerekir - gerçekten yorum eklemek istediğiniz tüm yerler en azından üst düzey düzen etiketinin içindedir


9
Bu demek değil. Dosyanın ortasında bir yere mükemmel bir şekilde yorum koyabilirsiniz. Sadece diğer etiketlerin arasında olması gerekiyor.
Alex Che

Daha spesifik olarak, şu sırada olmaları gerekir: n öğesinin kapanış etiketi, yorum, n + 1 öğesinin açılış etiketi.
ban-jeomühendislik
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.