Etkinliğim düğmelerinden birine bir rozet eklemeye çalışıyorum. Şu anda xml yapmaya çalışıyorum. rozetli Düğme, bu gibi görünmelidir:Düğmenin sol üst kısmına bir rozet balonunun yerleştirilmesi
Zaten kabarcık ve RelativeLayout
kullanarak içindeki metni yapmış:
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/badge"
android:layout_centerInParent="true"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="2"
android:layout_centerInParent="true" />
</RelativeLayout>
Ama bir yolunu bulamıyorum orada yerleştirmek ve aynı xml ile portre ve manzara üzerinde çalışmak. Burada iki kaynaklar vardır
<Button android:id="@+id/new_releases_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_button_selector"
android:text="@string/new_releases_title"
android:textColor="#FFFFFF"
android:textSize="20sp"
android:gravity="center_vertical"
android:paddingLeft="12dp"
android:layout_marginTop="15dp"
android:layout_below="@id/coming_soon_button"
android:onClick="newReleaseClick"
android:layout_centerHorizontal="true" />
<Button android:id="@+id/top_sellers_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_button_selector"
android:text="@string/top_sellers_title"
android:textColor="#FFFFFF"
android:textSize="20sp"
android:gravity="center_vertical"
android:paddingLeft="12dp"
android:layout_marginTop="15dp"
android:layout_below="@id/new_releases_button"
android:onClick="topSellersClick"
android:layout_centerHorizontal="true" />
ve:
nasıl xml yapmalıyım Activity
yılında
Buttoms böylesin?
DÜZENLEME: iyi yaklaşım şimdiye kadar, ama hala çalışmıyor:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button android:id="@+id/discounts_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_button_selector"
android:text="@string/discounts_title"
android:textColor="#FFFFFF"
android:textSize="20sp"
android:onClick="discountsClick"
android:layout_marginTop="40dp"
android:layout_marginLeft="20dp"/>
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|left">
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/badge"
android:layout_centerInParent="true"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="20"
android:layout_centerInParent="true" />
</RelativeLayout>
</FrameLayout>
Bu, doğru bir yol gibi gözüküyor ama yine de o iş yapamaz. Rozete "marginTop" ve "marginLeft" ekleme mantıklıdır, ancak negatif olmalıdır. Bu, görünümün dışında konumlandırır. Bunun yerine, düğmeye "pozitif" marginTop ve "marginLeft" ekledim, ancak bu değerler göz ardı ediliyor. Henüz nedenini anlamadım. Soruyu şu ana kadarki en iyi yaklaşımla düzenleyeceğim. – Macarse
evet, doğru. görüntüye negatif marj yok (bunun da işe yarayacağı halde denemedim), hem görüntü hem de düğme için üst/sol kenar boşluklarıyla çalışabilirsiniz. ama bu şekilde mantıklı geliyor: FrameLayout'un sol üst konumu resmin sol üst köşesidir, bu nedenle düğmeyi biraz sağa ve aşağıya taşımanız gerekir. –
Cool, 'android: layout_gravity = "top | left" 'tuşunu ekledikten sonra düğmeyi çalıştırdı, ancak düğümü benim genişliğimden ve yüksekliğimden" wrap_content "olduğu için keser. Android gibi bir şeyi zorlamak istemiyorum: layout_height = "60dp" 'iyi görünüyor. Bunu çözmenin daha iyi bir yolu var mı? – Macarse