1

xml を使用せずにポップアップを作成しました。4 つのボタンがあり、それらをカスタム形状にする必要があります。誰かがそれを行う方法の例を教えてもらえますか?

これはポップアップの実装です:

public class PopupAudio extends Activity implements OnClickListener {

    LinearLayout layoutOfPopup;
    PopupWindow popupMessage;
    Button popRecord, popStopRecord, popPlay, popStopPlaying;
    TextView popupText;

    Audio audio;

    public PopupAudio(Audio audio) {
        this.audio = audio;
    }

    public void showPopUp(View anchor) {
        popupMessage.showAsDropDown(anchor);
    }

    public void popupInit() {
        popRecord.setOnClickListener(this);
        popStopRecord.setOnClickListener(this);
        popPlay.setOnClickListener(this);
        popStopPlaying.setOnClickListener(this);
        popupMessage = new PopupWindow(layoutOfPopup, LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT);
        popupMessage.setContentView(layoutOfPopup);
        //popupMessage.setBackgroundDrawable(R.drawable.popup_layout);
    }

    public void init(Context context) {
        popRecord = new Button(context);
        popRecord.setId(112);
        popStopRecord = new Button(context);
        popPlay = new Button(context);
        popStopPlaying = new Button(context);
        layoutOfPopup = new LinearLayout(context);
        popRecord.setText("REC");
        layoutOfPopup.setOrientation(1);
        layoutOfPopup.addView(popRecord);
        layoutOfPopup.addView(popStopRecord);
        layoutOfPopup.addView(popPlay);
        layoutOfPopup.addView(popStopPlaying);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch(v.getId()) {
        case 112:
            popRecord.setText("STOP");
            break;
        }
    }

}

そして、これは私が使いたい形です:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
  <corners
      android:topLeftRadius="0dp"
      android:topRightRadius="30dp"
      android:bottomRightRadius="30dp"
      android:bottomLeftRadius="30dp" />
  <stroke
      android:width="3dp"
      android:color="@android:color/background_dark" />
  <solid 
      android:color="#800000c0"/>
</shape>
4

1 に答える 1

1

下にxmlを追加し、drawableこのようにポップアップレイアウトの背景として設定します

layoutOfPopup.setBackgroundResource(R.drawable.button_shape);

そして、ドローアブルxmlにサイズを設定します

<size android:height="300dp" android:width="300dp"/>

ボタンのサイズをWRAP_CONTENTまたは任意の固定サイズにします

popRecord.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT));
于 2014-04-14T21:10:34.977 に答える