ToggleButton
thừa hưởng từ TextView
, do đó bạn có thể thiết lập drawables được trưng bày tại 4 biên giới của văn bản.Bạn có thể sử dụng để hiển thị các biểu tượng mà bạn muốn trên đầu trang của văn bản và ẩn các văn bản thực tế
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@android:drawable/ic_menu_info_details"
android:gravity="center"
android:textOff=""
android:textOn=""
android:textSize="0dp" />
Kết quả so với bình thường ToggleButton
trông giống như

Tùy chọn giây là sử dụng một số ImageSpan
để thực sự thay thế văn bản bằng hình ảnh. Có vẻ tốt hơn một chút vì biểu tượng ở đúng vị trí nhưng không thể thực hiện trực tiếp với bố cục xml.
Bạn tạo một đồng bằng ToggleButton
<ToggleButton
android:id="@+id/toggleButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false" />
Sau đó thiết lập các "văn bản" programmatially
ToggleButton button = (ToggleButton) findViewById(R.id.toggleButton3);
ImageSpan imageSpan = new ImageSpan(this, android.R.drawable.ic_menu_info_details);
SpannableString content = new SpannableString("X");
content.setSpan(imageSpan, 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
button.setText(content);
button.setTextOn(content);
button.setTextOff(content);
Kết quả đây ở giữa - biểu tượng được đặt thấp hơn một chút vì nó mất vị trí của văn bản .

Có là AFAIK không có cách nào dễ dàng để thay thế văn bản bằng hình ảnh ngoài việc hoán đổi toàn bộ hình nền 2 trạng thái với hình ảnh bạn muốn. Bạn có thể thử nếu bạn có thể đặt văn bản thành hình ảnh qua [ImageSpan] (http://developer.android.com/reference/android/text/style/ImageSpan.html) như trong http://stackoverflow.com/ question/7616437/imagespan-in-a-widget – zapl