[英]Android Toast message display
我有產品清單。 當用戶單擊該行時, Toast
消息將顯示產品的名稱。
我想在每個產品行上顯示Toast
。我想在用戶點擊列表'行的位置顯示Toast
看我的照片;
目前顯示列表中心:
我喜歡這樣:
tablerow.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Toast prName = Toast.makeText(RetailerOrderActivity.this,
" Name : " + productList.get(Integer.parseInt(view.getTag().toString())).getDescription(),
Toast.LENGTH_SHORT);
prName.setGravity(Gravity.AXIS_SPECIFIED, 0, 0);
prName.show();
}
});
試試這個,
int[] values= new int[2];
view.getLocationOnScreen(values);
int x = values[0];
int y = values[1] ;
toast.setGravity(Gravity.TOP|Gravity.LEFT, x, y);
setGravity()
的第2和第3個參數是第1個參數中指定的常量的x和y偏移量。 您需要獲取要在上面放置吐司的行視圖對象的x和y位置。 或者你可以得到觸摸事件的x和y。
我個人會從setGravity(Gravity.TOP|Gravity.LEFT,0,0)
開始setGravity(Gravity.TOP|Gravity.LEFT,0,0)
我想你有一個onClick
或onItemClick
-listener。 如果是這樣,則會向其傳遞View
-parameter。 傳遞的View
是被點擊的視圖(列表的條目)。 您可以使用getY()
方法獲取它的Y位置。
你應該總是水平居中Toast,讓Toast
決定它的寬度。
所以你的代碼可能看起來像這樣(使用onItemClick
-listener):
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Get the Y-position:
int y = (int) view.getY();
// Create the Toast:
Toast toast = Toast.makeText(RetailerOrderActivity.this,
" Name : " + productList.get(Integer.parseInt(view.getTag().toString())).getDescription(),
Toast.LENGTH_SHORT
);
// Set the position:
toast.setGravity(Gravity.CENTER_HORIZONTAL, 0, y);
// Show the Toast:
toast.show();
}
我沒有測試它,但它應該工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.