背景が透明で境界線が白い線形レイアウトを追加したかったのです。問題は、私がグーグルで検索した限り、両方のうち1つしか達成できないということです。
これが私がしたことです:
以下をdrowableにborder.xmlとして保存しました
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape Android:shape="rectangle">
<solid Android:color="#FFFFFF" />
</shape>
</item>
<item Android:left="5dp" Android:right="5dp" Android:top="5dp" Android:bottom="5dp" >
<shape Android:shape="rectangle">
</shape>
</item>
</layer-list>
私の既存のページレイアウト
<LinearLayout
Android:id="@+id/quiz"
Android:layout_width="150dp"
Android:layout_height="120dp"
Android:background="#66041414" <-------- replaced it with Android:background="@drawable/border"
Android:orientation="vertical"
Android:layout_marginLeft="5dp" >
......
</LinearLayout>
境界線が含まれていると、背景が不透明になります。
最終結果を次のようにしたかったのです。
完全にそれに固執しました。それを達成する方法を見つけたかっただけです。どんな提案も非常に役に立ちます。
レイアウトの背景のドローアブル:
必要に応じて、コーナー形状の半径を変更できます。ただし、ストロークによって境界線が作成され、塗りつぶされた部分が背景として透明になります。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<corners
Android:radius="2dp"
Android:topRightRadius="0dp"
Android:bottomRightRadius="0dp"
Android:bottomLeftRadius="0dp" />
<stroke
Android:width="1dp"
Android:color="@Android:color/white" />
<solid Android:color="@Android:color/transparent"/>
</shape>
および私のテストlayout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/ll1"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:orientation="vertical" >
<LinearLayout
Android:id="@+id/ll2"
Android:layout_height="50dp"
Android:layout_width="50dp"
Android:background="@drawable/my_transparent_linear_layout"></LinearLayout>
</LinearLayout>
動作します。以下がその証拠です:
背景用のXmlDrawable:
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
<corners Android:radius="30dp" />
<stroke Android:width="5dp" Android:color="#ffffffff"/>
<solid Android:color="#66000000"/>
</shape>
半径、幅、暗い色の透明度(#ffおよび#66パーツ)を自由に調整します。
このために、2つのレイアウトaligned
を上下に使用してから、top view
の背景transparent
を設定し、bottom view
の背景として白い境界線を設定できます。これはrelative layouts
内で実行できます。
@ALi Imranによる確かに良い提案、以下の方法を確認してください、それが役立つことを願っています。
back.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:shape="rectangle">
<stroke Android:width="1dp" Android:color="#dd7b7a"/>
<corners Android:bottomRightRadius="10dp" Android:bottomLeftRadius="10dp"
Android:topLeftRadius="10dp" Android:topRightRadius="10dp"/>
<solid Android:color="#dd7b7a"/>
</shape>
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:gravity="center"
>
<LinearLayout
Android:padding="4dip"
Android:orientation="vertical"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@drawable/back"
Android:gravity="center_horizontal"
>
<LinearLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@drawable/tile_mode" // your transparent image
/>
</LinearLayout>
</LinearLayout>
以下のリンクも参照してください。xml
の使用方法が有効です。