EU向けの同意バナーを停止しました
【Androidアプリ開発】AndroidでViewを重ねる方法

【Androidアプリ開発】AndroidでViewを重ねる方法

2020年10月29日

こんにちは、コンテンツクリエイターのともすけです。

いま開発中のアプリ、Viewをどうしても2階層置きたいな〜、だけど調べたら簡潔に試せるコードがなかったので、ちょっとイジイジしてできたサンプルを公開します。

実施例

二つのボタンを重ねてみました。ボタンの背景色指定で、α(透過具合)を0x88にしているので、半分くらい透過しています。

コード

import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {
    private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
    private final int MP = ViewGroup.LayoutParams.MATCH_PARENT;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        FrameLayout baseLayout = new FrameLayout(this);
        baseLayout.addView(createButton("あいうえお"));
        baseLayout.addView(createButton("かきくけこ"));
        setContentView(baseLayout);
    }

    private Button createButton(String msg){
        Button button = new Button(this);
        button.setText(msg);
        button.setBackgroundColor(0x88CCCCCC);
        button.setLayoutParams(new LinearLayout.LayoutParams(WC,WC));
        return button;
    }
}

説明

  • フレームレイアウトを使う必要があるようです。その中に、2つのButtonをaddViewすると重なります
  • BackgroundColorの書式は、16進数で左から二桁ずつ、α、R、G、B、だったと思います

それではまた