组合定义view

java代码:

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;

import com.lvche.chatuidemo.R;
import com.lvche.origin.activity.TestActivity;

public class HomeActivityTitleView extends LinearLayout {
	ImageView topLeftMenu = null;
	EditText editNote = null;
	View homeTitle = null;

	public HomeActivityTitleView(Context context) {
		super(context);
		initView(context);
	}
	
	public HomeActivityTitleView(Context context, AttributeSet attrs) {
		super(context, attrs);
		initView(context);
	}
	
	@SuppressLint("NewApi")
	public HomeActivityTitleView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		initView(context);
	}

	/**
	 * 初始化界面
	 * 
	 * @param context
	 */
	private void initView(Context context) {
		LayoutInflater inflater = LayoutInflater.from(context);
		homeTitle = inflater.inflate(R.layout.correcting_pgg_home_title, this);
		editNote = (EditText) homeTitle.findViewById(R.id.edit_note);
		
		DisplayMetrics mDisplayMetrics = new DisplayMetrics();
		((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
		int W = mDisplayMetrics.widthPixels;
		
		int leftMenuWidth = homeTitle.findViewById(R.id.top_left).getLayoutParams().width;
		int rightButtonWidth = homeTitle.findViewById(R.id.right_button).getLayoutParams().width;
		
		LayoutParams lp = (LayoutParams) editNote.getLayoutParams();
		lp.width = W - leftMenuWidth - rightButtonWidth;
		editNote.setLayoutParams(lp);
		
	}
}

布局代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:background="#eeee" >

    <RelativeLayout
        android:id="@+id/topbanner"
        android:layout_width="match_parent"
        android:layout_height="@dimen/height_top_bar"
        android:background="@color/banner_bgcolor"
        android:gravity="center_vertical" >

        <LinearLayout
            android:id="@+id/top_left"
            android:layout_width="@dimen/width_back_bt"
            android:layout_height="match_parent"
            android:background="@drawable/common_tab_bg" >

            <ImageView
                android:id="@+id/top_left_menu"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center_vertical"
                android:scaleType="centerInside"
                android:src="@drawable/mm_title_back"
                tools:ignore="ContentDescription" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="@dimen/height_top_bar"
            android:layout_gravity="center_horizontal"
            android:layout_marginLeft="@dimen/width_back_bt"
            android:background="@drawable/common_tab_bg"
            android:orientation="horizontal" >

            <EditText
                android:id="@+id/edit_note"
                android:layout_width="wrap_content"
                android:layout_height="30dp"
                android:layout_gravity="center_vertical"
                android:background="@drawable/button_normal_shape"
                android:drawableRight="@drawable/search_bar_icon_normal"
                android:focusableInTouchMode="false"
                android:focusable="false"
                android:hint="请输入关键字符 "
                android:paddingLeft="5dp"
                android:layout_marginLeft="3dp"
                android:layout_marginRight="3dp"
                android:singleLine="true"
                android:textColor="#8C8C8C"
                android:textColorHint="#b3b3b3"
                android:textSize="15sp"
                tools:ignore="HardcodedText" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/right_button"
            android:layout_width="@dimen/width_set_top_right"
            android:layout_height="@dimen/height_top_bar"
            android:layout_gravity="center_horizontal"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="@dimen/width_back_bt"
            android:layout_centerVertical="true"
            android:background="@drawable/common_tab_bg"
            android:orientation="vertical" >
			<ImageView 
			    android:layout_width="25dp"
                android:layout_height="25dp"
                android:layout_marginTop="2dp"
                android:layout_gravity="center_vertical|center_horizontal"
                android:background="@drawable/logo_pgg"
			    />
            <Button
                android:id="@+id/topbanner_setting"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/common_tab_bg"
                android:text="扫一扫"
                android:layout_marginBottom="3dp"
                android:textColor="#fff"
                android:textSize="12sp" />
        </LinearLayout>
    </RelativeLayout>

</RelativeLayout>

引用:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:layout_alignParentBottom="true"
   >

	<com.lvche.origin.view.HomeActivityTitleView
	    android:id="@+id/homeTitle"
	    android:layout_width="match_parent"
	    android:background="#fff888"
	    android:layout_height="wrap_content" />
    
</RelativeLayout>


你可能感兴趣的:(组合定义view)