2017-12-27 176 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>