如何在android的linearlayout中删除阴影?
Posted
技术标签:
【中文标题】如何在android的linearlayout中删除阴影?【英文标题】:how to remove shadow in linearlayout in android? 【发布时间】:2015-09-03 13:40:40 【问题描述】:我正在为自定义对话框警报设计一个带有圆角的线性布局,当它弹出时,即使没有提及背景为黑色,在添加的图像中显示为圆形,白色弹出窗口也会与黑色布局重叠。我想显示带有圆角的弹出窗口图片中没有黑色部分,
谁能帮帮我。
customDialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:background="@null"
android:orientation="vertical" >
<LinearLayout
android:layout_
android:layout_
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@drawable/rounded_corner"
android:orientation="vertical" >
<TextView
android:id="@+id/dialog_title"
android:layout_
android:layout_
android:ellipsize="none"
android:gravity="center_vertical|center_horizontal"
android:maxLines="50"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:scrollHorizontally="false"
android:text="title"
android:textColor="@color/aa_text"
android:textSize="25dp" />
<TextView
android:id="@+id/dialog_message"
android:layout_
android:layout_
android:ellipsize="none"
android:maxLines="50"
android:paddingBottom="10dp"
android:paddingLeft="40dp"
android:paddingTop="10dp"
android:scrollHorizontally="false"
android:text="message"
android:textColor="@color/black"
android:textSize="20dp" />
<ListView
android:id="@+id/dialog_lv_options"
android:layout_
android:layout_
android:background="@color/white"
android:visibility="gone" />
<ImageView
android:id="@+id/popupBorder"
android:layout_
android:layout_
android:background="@color/background" />
<LinearLayout
android:id="@+id/dialog_ll_buttons"
android:layout_
android:layout_
android:orientation="horizontal"
android:paddingLeft="5dp"
android:paddingRight="5dp" >
<Button
android:id="@+id/dialog_positivebutton"
android:layout_
android:layout_
android:layout_weight="1"
android:background="@drawable/dialog_button_selector"
android:text="OK"
android:textColor="@color/background" />
<ImageView
android:id="@+id/btnBorder"
android:layout_
android:layout_
android:background="@color/background" />
<Button
android:id="@+id/dialog_negativebutton"
android:layout_
android:layout_
android:layout_weight="1"
android:background="@drawable/dialog_button_selector"
android:text="Cancel"
android:textColor="@color/background" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
rounded_corner.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#eeeeee"/>
<stroke android: android:color="#eeeeee" />
<corners android:radius="10dip"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>
【问题讨论】:
【参考方案1】:如果你使用 Dialog 类,试试这个答案:https://***.com/a/3114466/837714 从那里引用:
创建自定义样式并将其放置在您的 values 文件夹中
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="YourCustomStyle" parent="android:Theme">
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>
要为单个对话框设置样式,您可以使用
Dialog dialog = new Dialog(context, R.style.YourCustomStyle);
更新
从 cmets 向上移动:
我误解了这个问题。实际解决方案是:
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
【讨论】:
不,它不工作它显示相同的问题。请检查添加的图像。 对不起,我误会你了。试试这个解决方案: dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);【参考方案2】:我用过
android:elevation="0sp"
去除阴影。工作正常,您仍然可以在 LinearLayout 上设置 背景。
【讨论】:
如果我们的 API 级别 【参考方案3】:将此属性放在 LinearLayout 标签或元素上:
android:background="@color/fui_transparent"
【讨论】:
以上是关于如何在android的linearlayout中删除阴影?的主要内容,如果未能解决你的问题,请参考以下文章
Android:如何以编程方式设置 LinearLayout 边距
Android - 如何在使用带有权重的 LinearLayout 时消除不需要的间隙
如何在Android Studio的活动底部制作Android xml Linearlayout?
Android:如何将 LinearLayout 的内容垂直包装在 TableRow 中?