こんにちは、コンテンツクリエイターのともすけです。
いま開発中のアプリ、Viewをどうしても2階層置きたいな〜、だけど調べたら簡潔に試せるコードがなかったので、ちょっとイジイジしてできたサンプルを公開します。
実施例
二つのボタンを重ねてみました。ボタンの背景色指定で、α(透過具合)を0x88にしているので、半分くらい透過しています。
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
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、だったと思います
それではまた