Android圆形imageview有两个边框CROPPED

时间:2016-08-03 10:47:53

标签: c# android xml xamarin.android

我正在尝试制作带有两个边框的圆形imageView。

使用library创建圆形图像,只允许使用app:civ_border_color属性制作一个边框。

第二个边框是通过设置背景属性来实现的。

我的问题是,用背景制作的第二个边框正在两侧裁剪,如下所示:

enter image description here

圆形图片

<de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/profile_image"
    android:layout_width="wrap_content"
    android:layout_gravity="center"
    android:background="@drawable/border"
    android:padding="0dp"
    android:layout_margin="0dp"
    android:layout_height="200dp"
    android:src="@drawable/mrwhite"
    app:civ_border_width="3dp"
    app:civ_border_color="#BF0404" />

第二个边框

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:innerRadius="0dp"
    android:shape="ring"
    android:thicknessRatio="1.9"
    android:useLevel="false" >
  <solid android:color="@android:color/transparent" />

  <stroke
      android:width="5dp"
      android:color="#F2F2F2" />
</shape>

2 个答案:

答案 0 :(得分:0)

class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let noDataLabel = UILabel() noDataLabel.text = "No data :(" noDataLabel.textColor = UIColor.redColor() noDataLabel.font = UIFont.systemFontOfSize(20) noDataLabel.sizeToFit() self.view.addSubview(noDataLabel) NSLayoutConstraint(item: noDataLabel, attribute: .CenterX, relatedBy: .Equal, toItem: self.view, attribute: .CenterX, multiplier: 1.0, constant: 0.0).active = true NSLayoutConstraint(item: noDataLabel, attribute: .CenterY, relatedBy: .Equal, toItem: self.view, attribute: .CenterY, multiplier: 1.0, constant: 0.0).active = true } } 值更改为 2

thicknessRatio

答案 1 :(得分:0)

使用(0,0)RoundedImageView

创建ImageView的简单方法

选中此示例:https://github.com/SergeySharipov/RoundedImageView

将以下依赖项添加到您的应用模块的 build.gradle 文件中:

CardView

将代码添加到您的布局并更改&#34; YOUR_PICTURE&#34;:

 dependencies {
        implementation 'com.android.support:cardview-v7:27.1.0'
 }

在drawable中创建 shape.xml 并添加:

<android.support.v7.widget.CardView
        android:id="@+id/card_view_for_image"
        android:foreground="@drawable/shape"
        android:layout_margin="2dp"
        android:layout_width="200dp"
        android:layout_height="200dp"
        app:cardCornerRadius="100dp">

        <ImageView
            android:id="@+id/rounded_image_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:src="@drawable/YOUR_PICTURE" />

</android.support.v7.widget.CardView>