簡體   English   中英

在RelativeLayout中的ImageView頂部添加按鈕

[英]Adding Buttons on top of a ImageView in a RelativeLayout

我正在設計一種棋盤游戲,該棋盤游戲由靜態棋盤頂部的一堆按鈕組成。 我已經將背景圖像(板)設置為ScrollView內的ImageView,以處理板的滾動,因為它太大而無法在屏幕上查看。 然后,我創建一個RelativeLayout並將各種按鈕添加到其中。 這使我可以按自己的意願將按鈕定位在板上,但是當我滾動時,這些按鈕會停留在屏幕上,從而導致它們移出位置。 有沒有辦法讓按鈕保持在靜態位置,同時允許我在板上滾動?

這是我的一些代碼:

    super.onCreate(savedInstanceState);

    RelativeLayout outerLayout = new RelativeLayout(this); 
    outerLayout.setLayoutParams(new LayoutParams(1200,1200));

    RelativeLayout buttonLayout = new RelativeLayout(this);
    buttonLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));

    final ImageView i = new ImageView(this);
    i.setImageResource(R.drawable.board);
    i.setScaleType(ImageView.ScaleType.CENTER);
    i.setAdjustViewBounds(true);
    i.setLayoutParams(new LayoutParams(1200,1500));

    final Button b1 = new Button(this);
    b1.setText("1");
    b1.setTextSize(8);
    buttonLayout.addView(b1);
    b1.setId(1);
    RelativeLayout.LayoutParams rp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    rp.addRule(RelativeLayout.CENTER_IN_PARENT,-1);
    b1.setLayoutParams(rp);

    Button b2 = new Button(this);
    b2.setText("2");
    b2.setTextSize(8);
    buttonLayout.addView(b2);
    b2.setId(2);
    RelativeLayout.LayoutParams r2 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    r2.addRule(RelativeLayout.RIGHT_OF, 1);
    b2.setLayoutParams(r2);

    ScrollView sv = new ScrollView(this);
    sv.addView(i);
    outerLayout.addView(sv);
    outerLayout.addView(buttonLayout);

同樣,如果您可以通過編程方式提供很好的答案,那么我的教授不希望我們使用XML。

您為什么不嘗試使用GridView進行此操作呢?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM