2017-12-27 254 views
0

我正在创建一个calc应用程序。 如何设置填充萎缩的背景图像.. 我想this backspace background转换成类似this如何在textView中设置背景图像的填充?

我的TextView的XML:

<TextView 
     android:id="@+id/c_tv_id" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="fill" 
     android:gravity="center" 
     android:layout_columnWeight="1" 
     android:layout_rowWeight="1" 
     android:text="" 
     android:background="@drawable/ic_backspace_black_24dp" 
     android:padding="5dp"/> 
+0

您可以设置图像作为绘制,并TextView的提供可绘制填充。 – shravani

+0

可以理解“将图像设置为可绘制的”。你可以给代码吗? – Abhi

+0

如果您不显示文本,请勿使用TextView。使用ImageView – Budius

回答

0

使用ImageView的替代,并给填充它:

<ImageView 
      android:padding="20dp" 
      android:src="@drawable/ic_backspace_black_24dp" 
      android:id="@+id/product_main_image" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      /> 

为什么你需要Textview和背景图像呢? 您可以简单地把ImageViewImageButton

0

您应该使用的ImageButton,而不是TextView的是这样的:

<ImageButton 
    android:id="@+id/delete_button" 
    android:layout_width="70dp" 
    android:layout_height="40dp" 
    android:background="@drawable/delete_icon" 
    android:layout_margin="16"/> 
0

我想,有不止一种方法

第一种方式,你必须延伸TextView进入新课程并覆盖一些@override方法。在xml使用这个类...这是艰辛的道路

方式二(推荐),可以使用Adobe Illustrator中或Photoshop调整新的绘制,并使其很容易,只要你喜欢

第三条道路使用RelativeLayoutFrameLayout,并在一个Imageview ...简单的方法你想要的背景和做的工作

<RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     > 

     <ImageView 
      android:id="@+id/iv1" 
      android:padding="your_padding_value" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_backspace_black_24dp"/> 

     <TextView 
      android:id="@+id/c_tv_id" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:padding="5dp" 
      android:text="" 
      android:layout_columnWeight="1" 
      android:layout_rowWeight="1" 
      android:layout_alignBottom="@+id/iv1" 
      android:layout_alignEnd="@+id/iv1" 
      android:layout_alignStart="@+id/iv1" 
      android:layout_alignTop="@+id/iv1"/> 

    </RelativeLayout>