如何在Android中隨機屏幕位置顯示按鈕?例如,我有一個名爲GO的按鈕。當我點擊GO時,它會將我帶到第二個屏幕。第二個屏幕將在隨機屏幕位置顯示另一個按鈕(不是START按鈕)。我怎樣才能做到這一點?如何在隨機屏幕位置顯示按鈕
5
A
回答
5
對於第二個屏幕使用absolute layout
,但在X = 0的按鈕,Y = 0
一旦你的第二個屏幕被激活。 onCreate
方法
Button button = (Button)findViewById(R.id.my_button);
AbsoluteLayout.LayoutParams absParams =
(AbsoluteLayout.LayoutParams)button.getLayoutParams();
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int width = displaymetrics.widthPixels;
int height = displaymetrics.heightPixels;
Random r = new Random();
absParams.x = r.nextInt(width) ;
absParams.y = r.nextInt(height);
button.setLayoutParams(absParams);
編輯用戶想知道如何寫AbsoluteLayout
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/my_button"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_x="0dp"
android:layout_y="0dp"
android:text="Yes" />
</AbsoluteLayout>
-1
如果您的目標是Icecream Sandwich
及以上,您可以非常容易地設置按鈕的位置 您可以使用以下功能移動到隨機位置。您可以根據屏幕寬度隨機計算x
。
v.setX(x);
v.setTranslationX(translationX);
對於舊手機,您可以製作0秒長的隨機動畫。
1
displaymatrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymatrics);
textview.setOnTouchListener(new View.OnTouchListener(){
Random R = new Random();
float dx = R.nextFloat() * displaymatrics.widthPixels;
float dy = R.nextFloat() * displaymatrics.heightPixels;
public boolean onTouch(View view, MotionEvent event){
if(event.getAction() == MotionEvent.ACTION_DOWN){
view.animate()
.x(dx)
.y(dy)
.setDuration(0)
.start();
}
return true;
}
});
AbsoluteLayout現在已經過時,你可以移動視圖(當它觸及)在任意屏幕位置這輕鬆的方式。
相關問題
- 1. 如何在屏幕上顯示按鈕?
- 2. 如何使用canvas.drawBitmap顯示位圖上隨機屏幕
- 3. 如何在屏幕上的隨機位置使用Tkinter.Text顯示文本
- 4. 在屏幕上獲取按鈕位置
- 5. 將按鈕的位置設置爲屏幕上的隨機點? - Android電子
- 6. 如何在用戶按下按鈕時顯示按鈕並顯示隨機數?
- 7. 以隨機順序顯示屏幕對
- 8. 如何在屏幕上顯示隨機圖像的代碼?
- 9. 屏幕尺寸與按鈕位置
- 10. 如何在運行時在屏幕底部顯示按鈕?
- 11. 按鈕旁邊顯示屏幕
- 12. 提交按鈕的隨機位置
- 13. 隨機按鈕位置Reeaction遊戲
- 14. 如何在屏幕底部的TableView下顯示按鈕?
- 15. 在iPhone屏幕上隨機填充按鈕
- 16. 點擊按鈕,隨機圖片全屏顯示
- 17. 如何將一個線性佈局放置在屏幕的隨機位置?
- 18. 更改顯示器/屏幕位置
- 19. 如何顯示「待機」屏幕
- 20. 如何獲得手機顯示屏幕?
- 21. ThreeJS:屏幕位置到相機位置
- 22. 如何在屏幕上的特定位置顯示MessageBox
- 23. 如何獲得屏幕的按鈕位置?
- 24. LibGDX android在屏幕上生成隨機位置
- 25. 在按鈕上顯示和隱藏水平滾動視圖在同一屏幕上點擊按鈕位置
- 26. 我可以在android中隨意更改按鈕的位置(屏幕內)嗎?
- 27. 我有一個打開GUI的按鈕,如何設置GUI在屏幕上顯示的位置?
- 28. 通過按下按鈕隨機顯示按鈕
- 29. Libgdx:隨機圖像,如幻燈片顯示加載屏幕
- 30. 單擊按鈕時如何顯示新屏幕?
獲取屏幕尺寸,然後生成0到屏幕尺寸之間的隨機數,然後設置爲您的按鈕參數 –
@Shayanpourvatan如何生成一個隨機並將其設置爲參數?我是一個新的android – murrmurr
看到MDMalik的答案,這就是我想說的 –