如何以编程方式在ImageView中显示多个drawable(带边距)

时间:2018-06-06 19:59:02

标签: java android xml imageview android-drawable

是否可以在ImageView中显示多个drawable(在它们之间有边距)而不使用框架布局+任何不必要的嵌套?如何实现以下目标?

  1. 每个drawable都显示为正常而没有任何调整大小
  2. 只有drawableAdrawableB在结尾/右边有10dp的保证金
  3. XML

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
    
        <ImageView
            android:id="@+id/myImgView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
        <TextView
            android:id="@+id/myTxtView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
    

    爪哇

            Resources r = getContext().getResources();
            int tenDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10, r.getDisplayMetrics());
    
            ImageView customIV = content.findViewById(R.id.myImgView);
            Drawable drawableA = getResources().getDrawable(R.drawable.ic_happyface);
            Drawable drawableB = getResources().getDrawable(R.drawable.ic_neutralface);
            Drawable drawableC = getResources().getDrawable(R.drawable.ic_sadface);
            customIV.addView(?);
    

1 个答案:

答案 0 :(得分:1)

ImageView只包含一个Drawable。需要多个ImageViews才能显示多个Drawable

您可以将LinearLayout替换为RelativeLayout,以避免嵌套。