2011-12-12 3 views
5

次のUIを設計したいと思います。誰かが私に例を挙げたり、実装のためのソースコードを提案することはできますか?アイコン通知のUIヘルプ

Icon I want

+0

あなたは何をしたいですか?アイコン、テキスト、コーナーの記号、番号付け?その背後にあるコードやグラフィック? – Tobbe

+2

私はここでこの質問にすでに答えていると100%確信しています。周りを少し調べてください、答えは間違いなくSOです。 –

+0

@ Tobbe私はグラフィックスi-e the xml – Altaf

答えて

9

Here is Project on Git Hubが、あなたのアプリケーション内部(すなわちTextViewTabHostImageViewなど)

アプリケーションアイコンにバッジを示すについて、これはアンドロイドの方法ではありませんので、これは可能ではありません通知を表示するアンドロイドフレームワークは、通知の処理をサポートしていますStatus bar Notifications

+0

BUt SMSアイコンは、アイコンとそれがどのように働くかについての通知をアンドロイド方法?????????? –

+0

はい、一部のSamsung Android搭載デバイスでは、選択したアプリにアイコンバッジが表示されます。ベンダー固有のものでもよい。どのデバイス、OS、ベンダーについて話していますか? –

+0

私はSamsung Galaxy Aceを持っており、Androidのバージョンは2.3.3です。そのようなアプリアイコン通知を行う方法を教えてもらえますか?どこに見たらわかるか分かりますが、サンプルが必要です。 –

2

あなたは2人の子供、アイコン用とバッジのためのものとRelativeLayoutを使用することができます。 アイコンに余分な詰め物が必要なので、バッジがわずかに外側になります。 バッジは、parentTopおよびparentRightに揃えて配置されます。

6

あなたが左上隅に通知アイコンを設定したい場合は、コードの次の部分のように簡単です:

Bitmap1がbitmap2より大きくなければなりませんし、あなたのケースで、私はそれを助言します通知のバブルを残りの画像の外側にできる透明な背景を持つPNG画像にする必要があります。

 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の他の仕様を試してください。例えば

:あなたが望むすべてがXMLでそれを行う方法だった場合

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; 
     } 

、その後、あなたはRelativeLayoutを作成する必要がありますし、それの両方を追加します。

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

のようなものをやってみ通知ビンを右に揃えます。そして、そのトリックを行う必要があります。透明な背景を持つPNG画像が必要です。

私はあなたがしたいことに十分であることを望みます。さまざまなアイテムのバッジを示すに関する

+1

+1のXMLと実装のレイアウトの両方の回答に+1します。 –

+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

関連する問題