1. ホーム
  2. android

Androidでlinearlayoutの周りに影を表示するには?

2023-08-07 15:30:57

質問

リニアレイアウトに影をつけるにはどうしたらよいでしょうか。私はlinearlayoutの周りに影と白色の丸みを帯びた背景をしたい。私はこれまでにこれを行いました。

<LinearLayout
 android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@xml/rounded_rect_shape"
android:orientation="vertical"
android:padding="10dp">
<-- My buttons, textviews, Imageviews go here -->
</LinearLayout>

そして、xmlディレクトリの下にあるrounded_rect_shape.xmlは

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle" >

   <solid android:color="#ffffff" />

   <corners
      android:bottomLeftRadius="3dp"
      android:bottomRightRadius="3dp"
      android:topLeftRadius="3dp"
      android:topRightRadius="3dp" />
</shape>

どのように解決するのですか?

Androidには、影を表示する属性はありません。しかし、可能な方法としては

  1. グレー色のプレーンなLinearLayoutを追加し、その上に実際のレイアウトを追加し、下と右に1または2dpに等しいマージンを設定します。

  2. 影付きの9パッチ画像を用意し、それをLinearレイアウトの背景として設定します。