こんにちは、コンテンツクリエイターのともすけです。
いま開発中のアプリ、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、だったと思います
それではまた
