如何设置ImageView边框的宽度和颜色?

时间:2016-02-18 10:10:33

标签: android

我有一个简单的ImageView:

        <ImageView
            android:id="@+id/something"
            android:layout_height="500dp"
            android:layout_gravity="center"
            android:layout_width="150dp"                
            android:scaleType="centerCrop"
            android:padding="3dp"
            android:src="@drawable/myPic">
        </ImageView>

如何在a)xml b)* .java文件中设置边框宽度和颜色?

3 个答案:

答案 0 :(得分:0)

您可以通过多种方式实现:

只需设置填充并更改背景颜色,然后填充区域将显示为边框。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/feed_bg"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginLeft="@dimen/feed_item_margin"
        android:layout_marginRight="@dimen/feed_item_margin"
        android:layout_marginTop="@dimen/feed_item_margin"
        android:background="@drawable/bg_parent_rounded_corner"
        android:orientation="vertical"
        android:paddingBottom="@dimen/feed_item_padding_top_bottom"
        android:paddingTop="@dimen/feed_item_padding_top_bottom" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingLeft="@dimen/feed_item_padding_left_right"
            android:paddingRight="@dimen/feed_item_padding_left_right" >

            <com.android.volley.toolbox.NetworkImageView
                android:id="@+id/profilePic"
                android:layout_width="@dimen/feed_item_profile_pic"
                android:layout_height="@dimen/feed_item_profile_pic"
                android:scaleType="fitCenter" >
            </com.android.volley.toolbox.NetworkImageView>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:layout_gravity="center"
                android:gravity="center"
                android:paddingLeft="@dimen/feed_item_profile_info_padd" >
                <TextView
                    android:id="@+id/name"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textSize="@dimen/feed_item_profile_name"
                    android:textColor="#0f84cc"
                    android:textStyle="bold" />
            </LinearLayout>
        </LinearLayout>

       <!--  <VideoView
            android:id="@+id/feedImage1"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_marginTop="15dp"
           android:background="#000000"
             /> -->

            <com.example.adapter.FeedImageView
            android:id="@+id/feedImage1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/white"
            android:layout_marginTop="10dp"
            android:scaleType="fitXY"
            android:visibility="visible" />
        <VideoView
            android:id="@+id/vid"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
             />

         <TextView
            android:id="@+id/txtStatusMsg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"

            android:paddingLeft="@dimen/feed_item_status_pad_left_right"
            android:paddingRight="@dimen/feed_item_status_pad_left_right"
            android:paddingTop="@dimen/feed_item_status_pad_top" />

        <Button 
            android:id="@+id/downloadbtn" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Download"
            android:textColor="#ffffff"
            android:gravity="center"
            android:padding="10dp"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="10dp"
            android:background="#0f84cc"
            />
    </LinearLayout>
</LinearLayout>

或者在名为border_back.xml的可绘制文件夹中创建一个xml文件

<ImageView
     android:id="@+id/something"
     android:layout_height="500dp"
     android:layout_gravity="center"
     android:layout_width="150dp"                
     android:scaleType="centerCrop"
   android:background="#ff0000"
     android:padding="3dp"
     android:src="@drawable/myPic">
   </ImageView>

现在用作这样的背景:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="1dp" android:color="#000" />
<padding android:left="3dp" android:top="3dp" android:right="3dp"
    android:bottom="3dp" />
</shape>

答案 1 :(得分:0)

将此xml放入名为img_view.xml的可绘制文件夹

<shape xmlns:android="http://schemas.android.com/apk/res/android"><solid android:color="#FFF" /><stroke android:width="2dp" android:color="#000" /><padding android:left="2dp" android:top="2dp" android:right="2dp"    android:bottom="2dp" /></shape>

在您的imageview中设置背景

android:src="@drawable/img_view"

答案 2 :(得分:0)

这是一个想法。 做一件事。

<强> 1。只需将您的imageView放入线性布局即可。

<强> 2。将背景颜色提供给要用于imageview边框的线性布局。然后为您的imageview提供填充。

你会看到结果! :) 让我知道这个是否奏效!