我试图在我的应用程序中使用"android: elevation ="
但是一旦我运行它就不会出现在带有android 4.1.2的设备中
gradle这个
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.alvaro.proyectocaronte"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
layout.xml
<RelativeLayout
android:layout_width="1100dp"
android:layout_height="fill_parent"
android:background="@drawable/rounded_corner"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="93dp"
android:layout_marginEnd="93dp"
android:elevation="3dp"/>
也许我没有为棒棒糖前设备正确编制Lollipop,有什么建议吗?
如果您需要查看代码的其他部分,我将编辑问题
由于
答案 0 :(得分:20)
更新 ::
最佳实践这样做是
<android.support.v7.widget.CardView>
<YourLayout>
</android.support.v7.widget.CardView>
并为cardview添加库
dependencies {
...
compile 'com.android.support:cardview-v7:21.0.+'
}
在 Pre-Lollipop 上,您可以使用 drawable
机器人:背景= “@机器人:可拉伸/ dialog_holo_light_frame”
它会为您提供外观提升
你可以像这样创建自己的
<?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="#BDBDBD"/>
<corners android:radius="5dp"/>
</shape>
</item>
<item
android:left="0dp"
android:right="0dp"
android:top="0dp"
android:bottom="2dp">
<shape android:shape="rectangle">
<solid android:color="#ffffff"/>
<corners android:radius="5dp"/>
</shape>
</item>
</layer-list>
答案 1 :(得分:13)
提升要求设备运行Lollipop。请参阅此答案,了解如何模拟高程https://stackoverflow.com/a/26747592/680249
答案 2 :(得分:10)
您还可以使用支持库中的CardView 实现表面 为此,请为build.gradle添加依赖项:
compile 'com.android.support:cardview-v7:23.1.1'
然后只需在布局中使用它:
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_margin="16dp"
android:background="#fff"
>
</android.support.v7.widget.CardView>
在这里,您可以选择更多选项进行自定义
使用@android:drawable/dialog_holo_light_frame
作为背景
编辑:
另请注意,这种方法允许您简单地实施
材料设计在Pre-Lolipop设备上
您可以更改高程,
圆角等。
为此,你必须:
app:cardElevation="8dp"
app:cardCornerRadius="8dp"
app:contentPadding="5dp">
不要忘记添加xmlns:app="http://schemas.android.com/apk/res-auto"
到根布局。
您也可以轻松更改代码中的高程:
CardView card = (CardView) findViewById(R.id.yourPreetyCoolCardView);
card.setCardElevation(getResources()
.getDimension(R.dimen.card_picked_up_elevation));
使用8dp
获取和2dp
休息(通常)状态,你会很棒。
答案 3 :(得分:0)
如here所述,您可以使用以下方法模拟棒棒糖前的海拔高度:
android:background="@android:drawable/dialog_holo_light_frame"