我想创建此LinearLayout的相同边框作为示例:

在这个例子中,我们可以看到linearLayout周围的边界不一样.如何使用XML可绘制文件创建它?
现在,我只能在LinearLayout周围创建一个简单的边框,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners
android:radius="1dp"
android:topRightRadius="0dp"
android:bottomRightRadius="0dp"
android:bottomLeftRadius="0dp" />
<stroke
android:width="1dp"
android:color="#E3E3E1" />
<solid android:color="@color/blanc" />
</shape>
Run Code Online (Sandbox Code Playgroud) 我不明白图层列表是如何工作的.我通过一些例子阅读了官方文档,但它并不像我预期的那样适用于我.我想要四个正方形,应该用1dp填充,但没有任何预期.这是一个按500%缩放的屏幕截图:

(错误的颜色无关紧要)
正如您所看到的那样,尺寸完全错误并且缺少填充.我试图设置像宽度/高度和右/左/顶部/按钮的实际值,以确保android得到我想要的点.
这是我的xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="0dp" android:left="0dp" android:bottom="0dp" android:right="0dp">
<shape android:shape="rectangle">
<size android:width="9dp"
android:height="9dp"/>
<solid android:color="#f000"/>
</shape>
</item>
<item android:top="1dp" android:left="1dp" android:bottom="5dp" android:right="5dp">
<shape android:shape="rectangle">
<size android:width="3dp"
android:height="3dp"/>
<solid android:color="#f00"/>
</shape>
</item>
<item android:top="1dp" android:left="5dp" android:bottom="5dp" android:right="1dp">
<shape android:shape="rectangle">
<size android:width="3dp"
android:height="3dp"/>
<solid android:color="#0f0"/>
</shape>
</item>
<item android:top="5dp" android:left="1dp" android:bottom="1dp" android:right="5dp">
<shape android:shape="rectangle">
<size android:width="3dp"
android:height="3dp"/>
<solid android:color="#0f0"/>
</shape>
</item>
<item android:top="5dp" android:left="5dp" android:bottom="1dp" android:right="1dp">
<shape android:shape="rectangle">
<size android:width="3dp"
android:height="3dp"/>
<solid …Run Code Online (Sandbox Code Playgroud)
我用drawable创建了聊天气泡看起来很好,现在我想在drawable下面添加阴影效果,这样就可以产生3d效果.我不想使用9-pitch图像.我只是想知道如何在这个drawable上添加阴影效果.我的代码是
---- right_bubble_chat_drawable
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="15dp" />
<solid android:color="@color/chatrightbubbleColor" />
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
<size
android:height="@dimen/normal_button_height"
android:width="@dimen/normal_button_width" />
Run Code Online (Sandbox Code Playgroud)
---用于角落指针'chat_laftarraow'
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item >
<rotate
android:fromDegrees="90"
android:toDegrees="-90"
android:pivotX="50%"
android:pivotY="50%" >
<rotate
android:fromDegrees="45"
android:toDegrees="45"
android:pivotX="-40%"
android:pivotY="86%" >
<shape
android:shape="rectangle" >
<stroke android:color="#00aaef" android:width="1dp"/>
<solid
android:color="#00aaef" />
</shape>
</rotate>
</rotate>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
-------我正在使用它们
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<View
android:id="@+id/left_chatArror"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_marginTop="6dp"
android:background="@drawable/chat_laftarraow"/>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="220dp" …Run Code Online (Sandbox Code Playgroud) 我想在布局的右侧和底部添加一个光影.我尝试使用android:background="@android:drawable/dialog_holo_light_frame"但是它在布局的所有四个边上都添加了一个厚阴影.我需要创建哪些可绘制并设置为背景?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@android:drawable/dialog_holo_light_frame">
<ImageView
android:id="@+id/g"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:layout_gravity="center"
android:src="@drawable/logo_icon"
android:visibility="visible"
android:clickable="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我有一个视图是服务器作为页脚标题.这只是一个视图,您可以将其视为按钮或文本视图或布局(我对任何事情都很开放).这是xml
<RelativeLayout>
<ScrollView >… </ScrollView> //match parent width and height
<MyBottomView/> // align parent bottom
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
因此,您可以看到ScrollView在MyBottomView下方滚动.我想在MyBottomView中添加一个顶部阴影,使其看起来更像Material Design.我怎么能这样做?
代码:
<de.hdodenhof.circleimageview.CircleImageView
android:padding="5dp"
android:background="@drawable/sub_cat_background"
android:layout_width="70dp"
android:layout_height="70dp"
android:id="@+id/tab_image"
android:src="@drawable/mehendi_tab"
android:layout_gravity="center_horizontal"/>
Run Code Online (Sandbox Code Playgroud)
sub_cat_background.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="2"
android:useLevel="false" >
<solid android:color="@android:color/transparent" />
<stroke
android:width="5dp"
android:color="@color/white" />
</shape>
Run Code Online (Sandbox Code Playgroud)
这是我在群众建议后得到的:
编辑4:
我也尝试过使用画布方式。
为此,我没有使用 xml 设置白色圆圈,而是使用带有白色圆圈的图像,如上所示(图 2)。
Bitmap bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.salon_selected);
int imageMaxSize = Math.max(bitmap.getWidth(), bitmap.getHeight());
RadialGradient gradient = new RadialGradient(imageMaxSize / 2, imageMaxSize / 2, imageMaxSize / 2,
new int[] {0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF},
new float[] {0.0f, 0.8f, 1.0f},
android.graphics.Shader.TileMode.CLAMP);
Paint paint = new Paint();
paint.setShader(gradient);
Canvas canvas=new Canvas();
// in onDraw(Canvas)
canvas.drawBitmap(bitmap, 0.0f, …Run Code Online (Sandbox Code Playgroud) android ×6
xml-drawable ×2
animation ×1
border ×1
drawable ×1
glow ×1
imageview ×1
layer-list ×1