我正在使用imageView + TextView作为ImageTextView创建组件视图,如下所示在xml中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="match_parent"
>
<Button android:id="@+id/btnView" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:id="@+id/txtView" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
在使用中,我想使用ImageTextView如下:
<com.mypkg.MyClass.ImageTextView
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="text for textView" //used for textview
android:background="@drawable/background.png" //used for image view
/>
在imageTextViewConstructor中,我想按以下逻辑将textSize,text,textColor和所有textView的属性绕过而没有layoutParams的子txtView,如下所示,如何在Java代码中过滤AttributeSet。
public ImageTextView(Context context, AttributeSet attrs) {
super(context, attrs);
//------------------------------
// AttributeSet filteredAttrs= filterAttributeSet(attrs);
//I want to remove layoutparams and background from parent attributeset
//------------------------------
TextView mtxtView=(TextView)findViewByid(R.id.txtView);
mtxtView=new TextView(this,filteredAttrs);
}
最佳答案
TextView
本身可以在顶部,底部,左侧(开始)和/或右侧(结束)中包含Drawable
。
<TextView
...
android:drawablePadding="4dp"
android:drawableLeft="@drawable/my_drawable"/>
有关此主题的更多信息,请参见:http://antonioleiva.com/textview_power_drawables/