0

画像ビューで画像の上にボタンを表示したい。誰でもこれを行う方法を知っていますか。私はアンドロイドプログラミングの初心者です。

ありがとう。

4

2 に答える 2

1

これを使用すると、ビットマップ上にボタンを動的に作成できます...

public class MainAct extends GrapActivity implements OnClickListener {


private Button saveButton;
private Button clearButton;

// onCreate Activity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);          

 // content view 
signature = new MyView(this); 

// Dynamically created button on bitmap & canvas

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

// For Save Button
saveButton = new Button(this); 
saveButton.setText("Save"); 
saveButton.setOnClickListener(this); 

// For Clear Button
clearButton = new Button(this); 
clearButton.setText("Clear"); 
clearButton.setOnClickListener(this); 

myLayout.addView(signature); 
myLayout.addView(saveButton); 
myLayout.addView(clearButton); 

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100, LayoutParams.WRAP_CONTENT); 
//Alignments
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 
saveButton.setLayoutParams(params); 

//Alignments
RelativeLayout.LayoutParams params2 = new RelativeLayout.LayoutParams(100, LayoutParams.WRAP_CONTENT); 
params2.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 
params2.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
clearButton.setLayoutParams(params2); 

saveButton.bringToFront(); 
clearButton.bringToFront(); 
this.setContentView(myLayout); 
new Thread(new RefreshRunner()).start(); 

 // onclick listner for CLEAR button
 clearButton.setOnClickListener(new OnClickListener() {          
    public void onClick(View v) {
        //Activity for Clearing the Screen
        startActivity(new Intent(ThisAct.this, ThisAct.class));
        finish();
    }
});

// onclick listner for SAVE button
    saveButton.setOnClickListener(new OnClickListener() {  
        public void onClick(View v) { 
            //capture the image  
            try {                    
                saveAsJpg(mBitmap);     
                startActivity(new Intent(ThisAct.this, MainActivity.class));
                finish();
            } catch (IOException e) {                   
                e.printStackTrace();
            } 
        }  
    });     
 } 

}
于 2012-09-04T18:17:47.473 に答える
1

FrameLayoutまたはなどのレイアウト コンテナーを使用してandRelativeLayoutを格納し、必要に応じてオーバーラップするように適切な属性を指定します。ButtonImageView

于 2012-09-04T18:18:30.813 に答える