2011-12-12 18 views
5

पर अधिसूचना के लिए सहायता मैं निम्नलिखित यूआई डिज़ाइन करना चाहता हूं। क्या कोई मुझे एक उदाहरण दे सकता है या कार्यान्वयन के लिए कुछ स्रोत कोड सुझा सकता है?यूआई आइकन

Icon I want

+0

आप क्या करना चाहते हैं? प्रतीक, पाठ, कोने में प्रतीक, संख्या? इसके पीछे कोड या ग्राफिक्स? – Tobbe

+2

मुझे 100% आत्मविश्वास है कि मैंने पहले ही इस प्रश्न का उत्तर दिया है। कृपया थोड़ा सा खोज करें, जवाब निश्चित रूप से SO पर है। –

+0

@Tobbe मैं एक्सएमएल – Altaf

उत्तर

9

अलग आइटम, पर लेकिन अपने आवेदन (यानी TextView, TabHost, ImageView आदि)

आवेदन आइकन पर बिल्ला दिखा बारे में अंदर बैज दिखा के बारे में Here is Project on Git Hub, इस वजह से यह एंड्रॉयड तरीका नहीं है संभव नहीं है, नोटिफिकेशन दिखाने का। एंड्रॉइड फ्रेमवर्क Status bar Notifications

+0

बीयूटी एसएमएस आइकन में आइकन पर अधिसूचना है और एंड्रॉइड तरीका नहीं है तो यह कैसे काम करता है ??????????? –

+0

हां, कुछ सैमसंग एंड्रॉइड डिवाइस चयनित ऐप्स में आइकन बैज दिखाते हैं। यह विक्रेता विशिष्ट हो सकता है। आप किस डिवाइस, ओएस और विक्रेता के बारे में बात कर रहे हैं? –

+0

मेरे पास सैमसंग गैलेक्सी ऐस और एंड्रॉइड संस्करण 2.3.3 है। क्या आप मुझे बता सकते हैं कि इस तरह के ऐप आइकन अधिसूचना कैसे करें? यदि आपको पता है कि कहां देखना है, तो मुझे नमूनों की आवश्यकता है। –

2

आप दो बच्चों, आइकन के लिए एक और बिल्ला के लिए एक साथ एक RelativeLayout उपयोग कर सकते हैं। आइकन को अतिरिक्त पैडिंग की आवश्यकता है ताकि बैज इसके बाहर थोड़ा सा हो। बैज को parentTop और parentRight के साथ गठबंधन किया गया है।

6

आप ऊपरी-बाएं कोने ओर सूचना आइकन स्थापित करने के लिए चाहते हैं, तो यह कोड के अगले टुकड़े के रूप में सरल है:

Bitmap1 bitmap2 से भी बड़ा होना चाहिए, और अपने मामले में मैं करने के लिए यह सलाह देंगे अधिसूचना बबल को शेष छवि के बाहर होने की अनुमति देने के लिए पारदर्शी पृष्ठभूमि वाला एक पीएनजी छवि बनें।

 private Bitmap overlay(Bitmap bitmap1, Bitmap bitmap2) { 
      Bitmap bmOverlay = Bitmap.createBitmap(bitmap1.getWidth(), bitmap1.getHeight(), bitmap1.getConfig()); 
      Canvas canvas = new Canvas(bmOverlay); 
      canvas.drawBitmap(bitmap1, new Matrix(), null); 
      canvas.drawBitmap(bitmap2, new Matrix(), null); 
      return bmOverlay; 
     } 

अन्यथा अगर आप इसे सही-शीर्ष कोने पर चाहते हैं आप Canvas.drawBitmap के लिए अन्य लोगों के विनिर्देशों के किसी भी प्रयास करना चाहिए।

उदाहरण के लिए:

canvas.drawBitmap(Bitmap bitmap, float left, float top, Paint paint); 

प्रयास करें की तरह कुछ कर रही:

private Bitmap overlay(Bitmap bitmap1, Bitmap bitmap2) { 
      Bitmap bmOverlay = Bitmap.createBitmap(bitmap1.getWidth(), bitmap1.getHeight(), bitmap1.getConfig()); 
      Canvas canvas = new Canvas(bmOverlay); 
      canvas.drawBitmap(bitmap1, new Matrix(), null); 
      canvas.drawBitmap(bitmap2, bitmap1.getWidth()-bitmap2.getWidth(), 
           0,null); 
      return bmOverlay; 
     } 

यदि आप केवल इतना चाहता था कि कैसे XML पर यह करने के लिए किया गया था, तो आप एक RelativeLayout बनाना होगा और उस पर दोनों को जोड़ने छवियों और दाईं ओर अधिसूचना बबल संरेखित करें। और वह चाल करना चाहिए। पारदर्शी पृष्ठभूमि के साथ आपको अभी भी एक पीएनजी छवि होनी होगी।

मुझे उम्मीद है कि आप जो करना चाहते हैं उसके लिए पर्याप्त होगा।

+1

+1 ग्राफिक्स i-e चाहता हूं कि एक्सएमएल और कार्यान्वयन में इसे कैसे रखा जाए, दोनों के साथ जवाब देने के लिए। –

+0

+1 अच्छे उत्तर के लिए, कृपया इसे विस्तारित करने के लिए विस्तार से बताएं .... – Dhana

2

का उपयोग करके अधिसूचनाओं को संभालने का समर्थन करता है। इस ऐप विजेट आइकन बैज गिनती डिस्प्ले के लिए आपका स्रोत कोड यहां दिया गया है।

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/main_widget" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="center_horizontal" 
android:layout_marginTop="20dip" 
android:focusable="true" > 

<ImageView 
    android:id="@+id/icon" 
    android:layout_width="60dip" 
    android:layout_height="60dip" 
    android:layout_marginTop="8dp" 
    android:background="@drawable/logo" 
    android:contentDescription="image" 
    android:scaleType="center" /> 

<TextView 
    android:id="@+id/title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/icon" 
    android:gravity="center" 
    android:paddingLeft="3dp" 
    android:paddingTop="10dp" 
    android:shadowColor="#000000" 
    android:shadowDx="1" 
    android:shadowDy="1" 
    android:shadowRadius="1.5" 
    android:text="@string/app_name" 
    android:textColor="#FFF" /> 

<TextView 
    android:id="@+id/txt_count" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="-10dip" 
    android:layout_toRightOf="@+id/icon" 
    android:background="@drawable/badge_count2" 
    android:contentDescription="badge" 
    android:gravity="center" 
    android:text="1" 
    android:textColor="@color/White" 
    android:textStyle="bold" /> 

</RelativeLayout> 

और आपको यह badge_count2.xml खींचने योग्य फ़ाइल की भी आवश्यकता है।

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 

<solid android:color="@color/red" > 
</solid> 

<stroke 
    android:width="2dp" 
    android:color="#FFFFFF" > 
</stroke> 

<padding 
    android:bottom="2dp" 
    android:left="7dp" 
    android:right="7dp" 
    android:top="3dp" /> 

<corners android:radius="10dp" > 
</corners> 

0

यहाँ सोनी, सैमसंग, मोटो आदि जैसे कई उपकरणों में एक साधारण पुस्तकालय उपलब्ध समर्थन है ... कोशिश यह ... यह काम करेंगे ... मैं कोशिश की और ठीक काम कर रहा है .. http://github.com/leolin310148/ShortcutBadger