我怎样才能将父的属性集绕过android中的child

时间:2014-12-01 23:05:10

标签: java android android-custom-view

我正在使用imageView + TextView创建compond视图,如xml

中的ImageTextView
<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的属性到子txtView而没有layoutParams如下逻辑,如何在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);
    }

1 个答案:

答案 0 :(得分:-1)

TextView本身可以在顶部,底部,左侧(开始)和/或右侧(结束)包含Drawable

<TextView
  ...
  android:drawablePadding="4dp"
  android:drawableLeft="@drawable/my_drawable"/>

有关此主题的更多信息,请访问:http://antonioleiva.com/textview_power_drawables/