我找不到如何使linearLayout不透明的方法。无论我做什么,它总是透明的。
布局如下:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent">
<LinearLayout
android:orientation="vertical"
android:id="@+id/error_panel"
android:layout_width="match_parent"
android:background="@color/gray_background_dark"
android:layout_height="wrap_content">
<TextView
android:id="@+id/error_message"
android:text="@string/dummy_number"
android:gravity="center_vertical|left"
android:textColor="@color/red"
android:layout_width="match_parent"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_height="wrap_content" />
</LinearLayout>
<!-- The content of this scroll view is seen underneath the errorPanel -->
<ScrollView
android:layout_height="match_parent"
android:layout_width="match_parent">
<!-- Content of ScrollView -->
</ScrollView>
</FrameLayout>
如何使LinearLayout不透明?也许不是设置只是颜色,我可以尝试使用坚固的drawable ..?
背景
我正在使用appcompat v7主题<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
我尝试过的事情
<item name="android:panelBackground">@android:color/black</item>
background=#FF000000
。alpha=1
。将背景设置为drawable android:background="@drawable/background_error_panel"
,其中drawable为:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#FF181818"/>
</shape>
编辑2015年3月25日
也许动画是问题..?我使用scale anims和代码:
public void toggle() {
panel.setText("Some text Some text Some text Some text Some text ");
Animation slideIn = AnimationUtils.loadAnimation(MyApplication.context, R.anim.slide_in);
Animation slideOut = AnimationUtils.loadAnimation(MyApplication.context, R.anim.slide_out);
if (layout.getVisibility() == View.GONE) {
layout.setVisibility(View.VISIBLE);
layout.startAnimation(slideIn);
layout.setAlpha(1);
} else {
layout.startAnimation(slideOut);
layout.setVisibility(View.GONE);
}
}
答案 0 :(得分:2)
您的ScrollView是透明的。根据{{3}},
子视图以堆栈形式绘制,最近添加的子项位于顶部。
因此,您需要先加载ScrollView才能将其置于后台。