标签: android-shape

Android - 具有不同颜色和角度的背景颜色

我试图弄清楚如何在xml中创建这个背景,找不到任何帮助我的东西.

背景

忽略孩子和文本的圆圈图像,当然,我在谈论背景本身,有没有办法在xml中创建类似的东西?

在此先感谢您的帮助.干杯!

android android-xml android-view android-shape

5
推荐指数
0
解决办法
141
查看次数

Android-水平线上的形状

我有一个xml,在这个xml我加Horizontal Line之间TextViews。我Shape在分隔符中添加了一个,但看不到更改。

main_activity.xml :

<TextView
    android:id="@+id/title"
    android:layout_width="match_parent"
    android:layout_height="20dp"
    android:text="HELLO"
    android:textColor="@android:color/black" />

<View
    android:id="@+id/vVerticalLine"
    android:background="@drawable/horizontal_shape"
    android:layout_width="match_parent"
    android:layout_marginLeft="50dp"
    android:layout_marginRight="20dp"
    android:layout_below="@+id/title"
    android:layout_height="10dp" />

<TextView
    android:id="@+id/txt"
    android:layout_width="match_parent"
    android:layout_height="20dp"
    android:text="HELLO"
    android:textColor="@android:color/black" />
Run Code Online (Sandbox Code Playgroud)

和我的horizontal_shape.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">

    <corners
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />

    <stroke
        android:color="#000000" />

</shape>
Run Code Online (Sandbox Code Playgroud)

例如我需要:

在此处输入图片说明

android android-xml android-shape

4
推荐指数
1
解决办法
7935
查看次数

形状虚线,破折号无效

我想使用制作虚线shape

这是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="line">
            <stroke android:color="@color/grey_divider"
                android:width="1dip"
                android:dashWidth="5dip"
                android:dashGap="13dip"/>
        </shape>
    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

在我的设备上,我看到以下内容: 在此处输入图片说明 但是我需要这样的东西:

在此处输入图片说明

如何解决?

android android-shape

4
推荐指数
1
解决办法
1309
查看次数

Android 可绘制工具提示箭头框

我尝试使用下面的代码创建一个弹出窗口,顶部有一个类似工具提示的箭头。附图片。但结果我得到了不同的东西。
弹出式充气机:

LayoutInflater inflater = (LayoutInflater)
                        getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
              View  view = inflater.inflate(R.layout.popup, null);
              mypopupWindow = new PopupWindow(view,500, RelativeLayout.LayoutParams.WRAP_CONTENT, true);            
              mypopupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
              mypopupWindow.showAsDropDown(v,-153,0);
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="match_parent"
    android:layout_height="wrap_content">
<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="50dp"
        android:layout_marginTop="50dp"
        android:background="@drawable/shadow_recta"
        android:orientation="vertical"
        android:gravity="center">
     <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:text="text long text" />
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Button"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

可绘制文件:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:gravity="top|center_horizontal" >
        <rotate android:fromDegrees="0" android:toDegrees="-45"
            android:pivotX="0%" android:pivotY="50%" >
            <shape android:shape="rectangle">
                <size android:width="24dp" android:height="24dp" />
                <stroke android:color="@android:color/holo_blue_bright" android:width="1dp"/>
            </shape>
        </rotate>
    </item>
    <item>
        <shape android:shape="rectangle"> …
Run Code Online (Sandbox Code Playgroud)

android android-drawable android-shape

4
推荐指数
2
解决办法
4801
查看次数

Android设置按钮按下的背景颜色

我想在按下事件时更改 ImageButton 的背景颜色。

这是我所做的:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >

    <solid android:color="@color/rose_normal" />
    <solid
        android:state_pressed="true"
        android:color="@color/rose_fonce" />

    <stroke
        android:width="1sp"
        android:color="@color/rose_fonce" />

</shape>
Run Code Online (Sandbox Code Playgroud)

我的按钮很好地采用“rose_normal”颜色,但在按下时从来没有采用“rose_fonce”颜色。

哪里有问题 ?

编辑:问题已解决:

创建一个名为 background_rounded_button.xml 的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/rounded_button_rose_fonce" android:state_selected="true"></item>
    <item android:drawable="@drawable/rounded_button_rose_fonce" android:state_pressed="true"></item>
    <item android:drawable="@drawable/rounded_button_rose_normal"></item>

</selector>
Run Code Online (Sandbox Code Playgroud)

rounded_button_rose_fonce.xml :

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >

    <solid android:color="@color/rose_fonce" />

    <stroke
        android:width="1sp"
        android:color="@color/rose_fonce" />

</shape>
Run Code Online (Sandbox Code Playgroud)

rounded_button_rose_normal.xml :

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >

    <solid android:color="@color/rose_normal" />

    <stroke
        android:width="1sp"
        android:color="@color/rose_fonce" />

</shape> …
Run Code Online (Sandbox Code Playgroud)

android selector android-shape android-imagebutton

3
推荐指数
1
解决办法
1万
查看次数

在 Android 中的另一个圆圈内创建圆圈

我需要为我的相机应用程序创建图像。我在另一个圆圈内创建了一个圆圈,当我在 android studio 上看到它时看起来不错,但是在真实设备上运行它时,它与原来的不一样。这是来自真实设备的第一个图像和来自 android studio 的第二个图像。

来自真实设备的图像 圈内圈

这是我用来创建它的代码。

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Larger circle in white-->
<item>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <padding android:top="5dp" android:bottom="5dp" android:right="5dp" android:left="5dp"/>
        <stroke
            android:width="1dp"
            android:color="#ffffff"/>
    </shape>
</item>
<!-- Smaller white circle in front -->
<item>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <solid
            android:color="#ffffff"/>
    </shape>
</item>
 </layer-list>
Run Code Online (Sandbox Code Playgroud)

为什么它显示不同的问题是什么。

android android-shape

3
推荐指数
1
解决办法
3397
查看次数

如何在形状椭圆形按钮的按钮内添加图标

我创造了一个drawable button_oval.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:dither="true"
    android:shape="rectangle">

    <corners android:radius="120dp" />

    <solid android:color="#eceef5" />

    <stroke
        android:width="3dp"
        android:color="#29395e" />

    <size
        android:width="300dp"
        android:height="120dp" />

</shape>
Run Code Online (Sandbox Code Playgroud)

然后我在我的布局上使用它像这样:

// I want to add a icon inside this button
    <Button
        android:id="@+id/goToPersonalPage"
        android:layout_width="110dp"
        android:layout_height="50dp"
        android:layout_marginLeft="30dp"
        android:background="@drawable/button_oval"
        android:text="@string/memberButton"
        android:textColor="#29395e"
        android:textSize="18dp" />
Run Code Online (Sandbox Code Playgroud)

我想在里面添加一个图标Button,是否有可能通过改变我的方式来完成它button_oval.xml

最终输出应该如下图所示:

在此输入图像描述

任何帮助将不胜感激.

android android-button android-drawable android-shape

3
推荐指数
1
解决办法
3692
查看次数

ShapeableImageView 的笔触被边框切割

我这里有一个 ShapeableImageView,笔画为 5dp:

<com.google.android.material.imageview.ShapeableImageView
    android:id="@+id/profile_picture"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_marginTop="20dp"
    android:scaleType="centerCrop"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@id/profile_toolbar"
    app:shapeAppearanceOverlay="@style/circular"
    app:strokeColor="@color/dark_blue"
    app:strokeWidth="5dp" />
Run Code Online (Sandbox Code Playgroud)

这是结果:

这是结果

android stroke android-imageview android-shape

3
推荐指数
2
解决办法
241
查看次数

在android中以编程方式更改形状颜色

我试图以编程方式更改形状的颜色,但它不起作用.

这是形状

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="#9F2200"/>
    <stroke android:width="2dp" android:color="#fff" />
</shape>
Run Code Online (Sandbox Code Playgroud)

这是我如何使用它作为按钮的背景

<Button                
  android:id="@+id/ibtn_EA_ColorPick_new"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content" 
  android:layout_marginLeft="10dp"
  android:layout_marginRight="10dp"
  android:background="@drawable/round_button"
  />
Run Code Online (Sandbox Code Playgroud)

这就是我如何改变它的颜色

GradientDrawable bgShape = (GradientDrawable)btn_ColorPick.getBackground();
bgShape.setColor(Color.RED);
Run Code Online (Sandbox Code Playgroud)

但是,当我改变背景颜色时,它会从屏幕上删除按钮.

android android-button android-drawable android-shape

2
推荐指数
1
解决办法
1956
查看次数

Android椭圆形2种颜色

我有一个线性布局视图,其背景我已设置为椭圆形纯色.到目前为止,我的背景是圆圈.现在我想实现相同的,即使用形状drawable得到一个2种颜色的圆.请参照附件.

在此输入图像描述

android android-drawable android-shape

2
推荐指数
1
解决办法
1631
查看次数