android-片段超出屏幕

android-片段超出屏幕,第1张

概述我刚刚将片段添加到Main_Activity中,现在将它们与抽屉布局交换,这里的问题是该片段未包含在屏幕内部,如图所示,如果有人需要,我会提供代码.简要地说,我添加了一个线性布局,其中片段被交换了<LinearLayoutandroid:orientation="vertical"android:id="@+id/con

我刚刚将片段添加到Main_Activity中,现在将它们与抽屉布局交换,
这里的问题是该片段未包含在屏幕内部,如图所示,
如果有人需要,我会提供代码.

简要地说,我添加了一个线性布局,其中片段被交换了

<linearLayout        androID:orIEntation="vertical"        androID:ID="@+ID/container"        androID:layout_wIDth="fill_parent"        androID:layout_height="fill_parent">    </linearLayout>

这是请求的代码:

HEER“ activity_main.xml”

<?xml version="1.0" enCoding="utf-8"?><FrameLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:tools="http://schemas.androID.com/tools"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:clipTopadding="false"    androID:fitsSystemwindows="true">    <androID.support.v4.Widget.DrawerLayout    xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:ID="@+ID/DrawerLayout"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:elevation="7dp">    <linearLayout        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:orIEntation="vertical">        <include            androID:ID="@+ID/tool_bar"            layout="@layout/tool_bar"></include>        <TextVIEw            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:text="Hello World" />        <linearLayout            androID:ID="@+ID/container"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:orIEntation="vertical">        </linearLayout>    </linearLayout>    <androID.support.v7.Widget.RecyclerVIEw        androID:ID="@+ID/RecyclerVIEw"        androID:layout_wIDth="320dp"        androID:layout_height="match_parent"        androID:layout_gravity="left"        androID:background="#ffffff"        androID:scrollbars="vertical">    </androID.support.v7.Widget.RecyclerVIEw></androID.support.v4.Widget.DrawerLayout></FrameLayout>

这里是主要活动类别:

    package com.rateker.ratekerand.ratekerandroID;import androID.support.v4.app.Fragment;import androID.support.v7.app.AppCompatActivity;import androID.os.Bundle;import androID.support.v4.Widget.DrawerLayout;import androID.support.v7.app.ActionbarDrawerToggle;import androID.support.v7.Widget.linearlayoutmanager;import androID.support.v7.Widget.RecyclerVIEw;import androID.support.v7.Widget.Toolbar;import androID.util.Log;import androID.vIEw.GestureDetector;import androID.vIEw.Menu;import androID.vIEw.MenuItem;import androID.vIEw.MotionEvent;import androID.vIEw.VIEw;public class MainActivity extends AppCompatActivity {    String TitleS[] = {"Home", "Events", "Mail", "Shop", "Travel", "Home2", "Events2", "Mail2", "Shop2", "Travel2", "Shop3", "Travel3"};    int ICONS[] = {R.drawable.abc_menu_hardkey_panel_mtrl_mult,            R.drawable.abc_menu_hardkey_panel_mtrl_mult,            R.drawable.abc_menu_hardkey_panel_mtrl_mult,            R.drawable.abc_menu_hardkey_panel_mtrl_mult,            R.drawable.abc_menu_hardkey_panel_mtrl_mult,            R.drawable.abc_menu_hardkey_panel_mtrl_mult,            R.drawable.abc_menu_hardkey_panel_mtrl_mult,            R.drawable.abc_menu_hardkey_panel_mtrl_mult,            R.drawable.abc_menu_hardkey_panel_mtrl_mult,            R.drawable.abc_menu_hardkey_panel_mtrl_mult,            R.drawable.abc_menu_hardkey_panel_mtrl_mult,            R.drawable.abc_menu_hardkey_panel_mtrl_mult};    //Similarly we Create a String Resource for the name and email in the header vIEw    //And we also create a int resource for profile picture in the header vIEw    String name = "Akash Bangad";    String EMAIL = "akash.bangad@androID4devs.com";    int PROfile = R.drawable.lighthouse;    private Toolbar toolbar;                              // Declaring the Toolbar Object    RecyclerVIEw mRecyclerVIEw;                           // Declaring RecyclerVIEw    RecyclerVIEw.Adapter mAdapter;                        // Declaring Adapter For Recycler VIEw    RecyclerVIEw.LayoutManager mLayoutManager;            // Declaring Layout Manager as a linear layout manager    DrawerLayout Drawer;                                  // Declaring DrawerLayout    ActionbarDrawerToggle mDrawerToggle;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        toolbar = (Toolbar) findVIEwByID(R.ID.tool_bar); // Attaching the layout to the toolbar object        setSupportActionbar(toolbar);                   // Setting toolbar as the Actionbar with setSupportActionbar() call        mRecyclerVIEw = (RecyclerVIEw) findVIEwByID(R.ID.RecyclerVIEw); // Assigning the RecyclerVIEw Object to the xml VIEw        mRecyclerVIEw.setHasFixedSize(true);                            // Letting the system kNow that the List objects are of fixed size        mAdapter = new MyAdapter(TitleS, ICONS, name, EMAIL, PROfile);       // Creating the Adapter of MyAdapter class(which we are going to see in a bit)        // And passing the Titles,icons,header vIEw name, header vIEw email,        // and header vIEw profile picture        final GestureDetector mGestureDetector = new GestureDetector(MainActivity.this, new GestureDetector.SimpleOnGestureListener() {            @OverrIDe            public boolean onSingleTapUp(MotionEvent e) {                return true;            }        });        mRecyclerVIEw.setAdapter(mAdapter);                              // Setting the adapter to RecyclerVIEw        mRecyclerVIEw.addOnItemtouchListener(new RecyclerVIEw.OnItemtouchListener() {            @OverrIDe            public boolean onIntercepttouchEvent(RecyclerVIEw recyclerVIEw, MotionEvent motionEvent) {                VIEw child = recyclerVIEw.findChildVIEwUnder(motionEvent.getX(), motionEvent.getY());//                child.getVerticalScrollbarposition()                if (child != null && mGestureDetector.ontouchEvent(motionEvent)) {                    Drawer.closeDrawers();                    System.out.println("@@@@@ !!!!!");                    int position = mRecyclerVIEw.getChildAdapterposition(child);                    Fragment fragment = null;                    switch (position) {                        case 1:                            fragment = new FragmentHome();                            break;                        case 2:                            fragment = new FragmentEvents();                            break;                        default:                            fragment = new FragmentOthers();                            break;                    }                    openFragment(fragment);                    return true;                }                return false;            }            @OverrIDe            public voID ontouchEvent(RecyclerVIEw recyclerVIEw, MotionEvent motionEvent) {            }        });//                setonItemClickListener(new OnItemClickListener() {//            @OverrIDe//            public voID onItemClick(AdapterVIEw<?> parent, VIEw vIEw,//                                    int position, long ID) {//                openActivity(position);//            }//        });        mLayoutManager = new linearlayoutmanager(this);                 // Creating a layout Manager        mRecyclerVIEw.setLayoutManager(mLayoutManager);                 // Setting the layout Manager        Drawer = (DrawerLayout) findVIEwByID(R.ID.DrawerLayout);        // Drawer object Assigned to the vIEw        mDrawerToggle = new ActionbarDrawerToggle(this, Drawer, toolbar, R.string.openDrawer, R.string.closeDrawer) {            @OverrIDe            public voID onDrawerOpened(VIEw drawerVIEw) {                super.onDrawerOpened(drawerVIEw);                // code here will execute once the drawer is opened( As I dont want anything happened whe drawer is                // open I am not going to put anything here)            }            @OverrIDe            public voID onDrawerClosed(VIEw drawerVIEw) {                super.onDrawerClosed(drawerVIEw);                // Code here will execute once drawer is closed            }        }; // Drawer Toggle Object Made        Drawer.setDrawerListener(mDrawerToggle); // Drawer Listener set to the Drawer toggle        mDrawerToggle.syncState();    }    private voID openFragment(final Fragment fragment) {        getSupportFragmentManager()                .beginTransaction()                .replace(R.ID.container, fragment)                .commit();    }    @OverrIDe    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.menu_main, menu);        return true;    }    public voID onNavigationDrawerItemSelected(int position) {        // update the main content by replacing fragments//        FragmentManager fragmentManager = getFragmentManager();//        fragmentManager.beginTransaction()//                .replace(R.ID.content_frame, PlaceholderFragment.newInstance(position + 1))//                .commit();    }    @OverrIDe    public boolean onoptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroIDManifest.xml.        int ID = item.getItemID();        //noinspection SimplifiableIfStatement        if (ID == R.ID.action_settings) {            return true;        }        return super.onoptionsItemSelected(item);    }}

这里是片段类别之一:

package com.rateker.ratekerand.ratekerandroID;import androID.support.annotation.Nullable;import androID.support.v4.app.Fragment;import androID.os.Bundle;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.Widget.ListVIEw;/** * A simple {@link androID.app.Fragment} subclass. */public class FragmentHome extends Fragment {    @OverrIDe    public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container,                             Bundle savedInstanceState) {        // Inflate the layout for this fragment        return inflater.inflate(R.layout.fragmenthome, container, false);    }    @OverrIDe    public voID onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);    }}

这是片段的XML:

<?xml version="1.0" enCoding="utf-8"?><linearLayout    xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_wIDth="fill_parent"    androID:layout_height="fill_parent"    androID:background="#ffffff"    androID:orIEntation="vertical">    <TextVIEw        androID:padding="20dp"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:textAppearance="?androID:attr/textAppearanceLarge"        androID:text=" HOME 1  HOME 2 HOME 3 HOME 4 HOME 5 HOME 6 HOME 7 HOME 8 HOME 9 HOME 11 HOME 12 HOME 13 HOME 14 HOME 15 HOME 16 HOME 17 HOME 18 HOME 19"        androID:ID="@+ID/textVIEw"        androID:layout_gravity="center_horizontal" /></linearLayout>

解决方法:

事实证明,我在模拟器的宽度和高度方面存在问题.窗口高度应与客人高度相同,宽度应相同.

总结

以上是内存溢出为你收集整理的android-片段超出屏幕全部内容,希望文章能够帮你解决android-片段超出屏幕所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1120500.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存