-

   rss_rss_hh_new

 - e-mail

 

 -

 LiveInternet.ru:
: 17.03.2011
:
:
: 51

:


[ ] NavigationDrawer DrawerLayout,

, 28 2017 . 16:37 +
, , , view . , , .

, DrawerLayout, 2 root RelativeLayout , RelativeLayout . , 2 root DrawerLayout, .


Xml activity






    

       
     
    

    
    
        android:clickable="true"
        android:background="#FFFFFF"
        xmlns:android="http://schemas.android.com/apk/res/android" />


activity , , . , RelativeLayout. , view.

public class NavigationLayout extends RelativeLayout
{
    Button ok;
    public NavigationLayout(Context context,RelativeLayout parent)
    {
        super(context);
        initView(context,parent);
    }

    public void initView(final Context context,RelativeLayout parent)
    {
        //   xml  
        View view= LayoutInflater.from(context).inflate(R.layout.view_drawer_layout,parent,true);

        ok=(Button)view.findViewById(R.id.ok);

        ok.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(context,"Ok",Toast.LENGTH_SHORT).show();
            }
        });


    }
}

context parent.

parent RelativeLayout, activity ( )

initView(final Context context,RelativeLayout parent) , , view .

R.layout.view_drawer_layout .




    


, NavigationLayout addView parent .

, AppCompactActivity

public class ParentNavigationActivity extends AppCompatActivity {
    NavigationLayout navigationLayout;
    RelativeLayout left_drawer;

    @Override
    public void setContentView(@LayoutRes int layoutResID) {
        super.setContentView(layoutResID);
        setupMenu();
    }

    public void setupMenu()
    {
        left_drawer=(RelativeLayout) findViewById(R.id.left_drawer);
        navigationLayout=new NavigationLayout(getApplicationContext(),left_drawer);

        left_drawer.addView(navigationLayout);
    }
}

setContentView, , '' . NavigationLayout left_drawer.addView(navigationLayout) , .

, (activity) ParentNavigationActivity, .

public class MainActivity extends ParentNavigationActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test); 
    }

}

, ParentNavigationActivity setContentView, activity .

, 2 , DrawerLayout, RelativeLayout. constraintlayout, framelayout, linearlayout .

!


, activity. android .
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/334350/


: [1] []
 

:
: 

: ( )

:

  URL