0
現在、FrameLayoutに格納されているSurfaceView(BoardViewという名前)があります。 EditTextを含むこのFrameLayout(f1)に格納されている別のLinearLayout(l1)があります。私は、私のBoardViewの中からEditTextを前面に持って来たいと思っています。これは可能ですか?私はgetParent()を使ってみました。bringChildToFront();しかしそれはうまくいかなかった。何か案は?子ビューからのFrameLayoutのビューの切り替え
public class Board extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//use a frame layout so you can also display a dialog box
// allows more than one view to be used
FrameLayout f1 = new FrameLayout(this);
LinearLayout l1 = new LinearLayout(this);
EditText edit = new EditText(this);
l1.setOrientation(LinearLayout.VERTICAL);
l1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
edit.setText("Enter your name!");
l1.addView(edit);
f1.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
f1.addView(l1);
f1.addView(new BoardView(this));
setContentView(f1);
//setContentView(new BoardView(this));
}
}
問題は、 "l1"を解決できないということです。 SurfaceViewで何かが起きたときだけllを表示したい。基本的には、ゲームが終了したら、私はこの新しいビューを表示したい。私は現在のビューを不可視にすることができると思いますよね? –
ああ、それは質問です:あなたがスイッチを作っているところにコードを表示してください。 – Femi
まあ、コードはかなり長いです。私はカスタムSurfaceViewを持っています - ここにコードを投稿するのに十分なスペースがありません:/あなたを見せなければならないのは何ですか?私のクラスタイトルはこのように見えます。パブリッククラスBoardViewの拡張SurfaceViewはSurfaceHolder.Callbackを実装しています{ –