1fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes/*
2fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes * Copyright (C) 2014 The Android Open Source Project
3fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes *
4fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes * Licensed under the Apache License, Version 2.0 (the "License");
5fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes * you may not use this file except in compliance with the License.
6fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes * You may obtain a copy of the License at
7fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes *
8fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes *      http://www.apache.org/licenses/LICENSE-2.0
9fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes *
10fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes * Unless required by applicable law or agreed to in writing, software
11fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes * distributed under the License is distributed on an "AS IS" BASIS,
12fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes * See the License for the specific language governing permissions and
14fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes * limitations under the License.
15fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes */
16fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes
17fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banespackage android.support.v4.view;
18fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes
19fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banesimport android.content.Context;
20fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banesimport android.util.AttributeSet;
21fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banesimport android.view.View;
22fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes
23fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes/**
24fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes * Used with {@code LayoutInflaterCompat.setFactory()}. Offers the same API as
25fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes * {@code LayoutInflater.Factory2}.
26fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes */
27fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banespublic interface LayoutInflaterFactory {
28fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes
29fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes    /**
30fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     * Hook you can supply that is called when inflating from a LayoutInflater.
31fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     * You can use this to customize the tag names available in your XML
32fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     * layout files.
33fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     *
34fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     * @param parent The parent that the created view will be placed
35fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     * in; <em>note that this may be null</em>.
36fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     * @param name Tag name to be inflated.
37fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     * @param context The context the view is being created in.
38fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     * @param attrs Inflation attributes as specified in XML file.
39fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     *
40fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     * @return View Newly created view. Return null for the default
41fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     *         behavior.
42fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes     */
43fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes    public View onCreateView(View parent, String name, Context context, AttributeSet attrs);
44fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes
45fd1eb27a3700de31507de34fd1bcc51830fe876cChris Banes}
46