2011-09-01 83 views

回答

0

我將在當前活動之上顯示一個PopupWindow通知。通過Google找到它。感謝大家的回覆。

1

開發可以顯示一個對話框,改變德機器人:如果你想相同的風格,你可以使用一個佈局敬酒的背景,然後應用它的動畫背景android:background="@android:drawable/toast_frame"

那使按鈕的佈局增長。

+0

我不希望它阻止用戶的活動。它應該像屏幕底部的氣球通知一樣。 – Ronnie

+0

您可以創建該動畫。增長几秒鐘然後消失。 – Aracem

+0

但是,你可以設置對話框的底部的重力?我不希望它重疊在屏幕中間。 – Ronnie

2

可能對您有用。 在佈局文件寫這

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:orientation="vertical" 
        android:gravity="bottom" 
        android:paddingLeft="5px" 
        android:paddingTop="5px" 
        android:paddingRight="5px"> 

     <packagename.TransparentPanel 
       android:id="@+id/transparent_panel" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:paddingTop="5px" 
       android:paddingLeft="5px" 
       android:paddingBottom="5px" 
       android:paddingRight="5px"> 

      <Button android:id="@+id/button_click_me" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Click Me!"/> 

     </packagename.TransparentPanel> 

,並在你的包中創建TransparentPanel

public class TransparentPanel extends LinearLayout 
{ 
private Paint innerPaint, borderPaint ; 

public TransparentPanel(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    init(); 
} 

public TransparentPanel(Context context) { 
    super(context); 
    init(); 
} 

private void init() { 
    innerPaint = new Paint(); 
    innerPaint.setARGB(225, 75, 75, 75); 
    innerPaint.setAntiAlias(true); 

    borderPaint = new Paint(); 
    borderPaint.setARGB(255, 255, 255, 255); 
    borderPaint.setAntiAlias(true); 
    borderPaint.setStyle(Style.STROKE); 
    borderPaint.setStrokeWidth(2); 
} 

public void setInnerPaint(Paint innerPaint) { 
    this.innerPaint = innerPaint; 
} 

public void setBorderPaint(Paint borderPaint) { 
    this.borderPaint = borderPaint; 
} 

@Override 
protected void dispatchDraw(Canvas canvas) { 

    RectF drawRect = new RectF(); 
    drawRect.set(0,0, getMeasuredWidth(), getMeasuredHeight()); 

    canvas.drawRoundRect(drawRect, 5, 5, innerPaint); 
    canvas.drawRoundRect(drawRect, 5, 5, borderPaint); 

    super.dispatchDraw(canvas); 
} 
} 

這一套,你所需要的。

+0

創建視圖在這裏不是問題。我想展示一個像「吐司」的視圖,但它必須是可點擊的。 – Ronnie

+0

它看起來像一個敬酒,也點擊使用.setOnClickListener – kalpana