AndroidStudio 1.5
您好,
我正在尝试创建图标和文字所在的透明背景。但我不希望图标或文字透明。在dialer_pad.xml
中,我尝试设置alpha,但每次执行此操作时,图标和文本也会变得透明。
如您所见,图标和文字是透明的。我只想让背景透明。
我尝试过很多东西来设置alpha,让周围的背景变得透明,同时只留下文字和图标。我认为制作一个图层列表可能会有用。
这可能吗?
非常感谢任何建议,
contacts.xml
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:background="@drawable/inner_border">
<ImageView
android:id="@+id/ivContacts"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:padding="16dp"
android:src="@drawable/ic_people_white_48dp"
android:layout_gravity="center"/>
<TextView
android:id="@+id/tvHold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Contacts"
android:textSize="12sp"
android:textColor="@android:color/white"
android:fontFamily="sans-serif-condensed"
android:layout_gravity="bottom|center"/>
</FrameLayout>
call.xml
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:background="@drawable/right_border">
<ImageView
android:id="@+id/ivSwitch"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:padding="16dp"
android:src="@drawable/ic_phone_white_48dp" />
<TextView
android:id="@+id/tvHold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Make Call"
android:textSize="12sp"
android:fontFamily="sans-serif-condensed"
android:textColor="@android:color/white"
android:layout_gravity="bottom|center"/>
</FrameLayout>
dialer_pad.xml
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/outer_border"
android:alpha="0.5">
<TableRow>
<include
layout="@layout/call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<include
layout="@layout/contacts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</TableRow>
</TableLayout>
activity_main.xml中
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.ssd.MainActivity"
android:gravity="center_vertical|center_horizontal"
android:background="@drawable/background">
<include layout="@layout/dialer_pad"/>
</RelativeLayout>
答案 0 :(得分:1)
您可以在outer_border.xml
color
中添加transparency
代替:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/outer_border" >
...
</TableLayout>
如果您需要transparent blue
,可以使用#550000FF
答案 1 :(得分:0)
in&#34; dialer_pad.xml&#34;通过这种方式,alpha对他们所有的孩子都有效,包括。 因此,您需要在dialer_pad.xml的TableLayout中删除alpha。
并编辑您的子布局。
contacts.xml
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
>
<ImageView
android:id="@+id/ivContacts"
android:layout_height="match_parrent"
android:layout_width="match_parrent"
android:alpha="0.5"
android:background="@drawable/inner_border"/>
<ImageView
android:id="@+id/ivContacts"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:padding="16dp"
android:src="@drawable/ic_people_white_48dp"
android:layout_gravity="center"/>
<TextView
android:id="@+id/tvHold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Contacts"
android:textSize="12sp"
android:textColor="@android:color/white"
android:fontFamily="sans-serif-condensed"
android:layout_gravity="bottom|center"/>
</FrameLayout>
与call.xml相同