Articles of android fragments

平板电脑用户界面不能在我的应用程序

我正在尝试创build一个应用程序,该应用程序针对平板电脑和手机有两个不同的用户界面,而我正在使用片段来实现此function。 我为每个平板电脑和手机布局创build了两个单独的xml文件,这两个文件都被称为activity_main.xml,电话布局放置在res / layout文件夹中,平板电脑布局放置在res / layout-sw600dp文件夹中。 但是,当我尝试在Nexus 10仿真器(Android Studio)上运行我的应用程序时,它会自动转到默认的电话布局。 该应用程序不会崩溃或任何东西,但它只是运行在手机用户界面,当它应该在平板电脑用户界面中运行。 我不知道这个错误的来源是什么,所以任何帮助将不胜感激。 这是一个更新,我试着将文件夹重命名为res / layout-large-mdpi,但是仍然没有发现变化。 这可能与模拟器有关吗? 这是我的清单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.androidattack.www.sunshine" > <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.androidattack.www.sunshine.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.androidattack.www.sunshine.DetailActivity" android:label="@string/title_activity_detail" android:parentActivityName="com.androidattack.www.sunshine.MainActivity" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.androidattack.www.sunshine.MainActivity" /> </activity> […]

SwipeRefreshLayout刷新冲突与fragmentTransactions

TLDR:这是我的错误报告: http : //goo.gl/UgBFW2 当适配器触发视图刷新时,如果我按下并触发getSupportFragmentManager().popBackstack() , super.onBackPressed()或fragmentTransaction.replace() ,则使用super.onBackPressed() ,两个片段重叠(显示问题的video可以被发现在顶部的链接)。 我尝试了几件事情,添加背景不是一个解决scheme,因为列表片段在前台,一个可点击的是前一个片段。 有没有人find这个解决scheme? swipeRefresh正在运行时,replace碎片无法正常工作

如何将浮动操作button排在一个片段上,只能在Tab布局中

我试图实现以下没有成功。我有两个材料devise刷卡tabs.I使用这个库 'com.oguzdev:CircularFloatingActionMenu:1.0.2'来实现FAB,但是当我滑动标签到第二个标签,FAB仍然附加到新的片段。 我想在第二个片段上隐藏FAB 。 有没有办法做到这一点?

使用ViewPager实现像iOS应用程序一样closures垂直滑动即可closures的function

我目前有ViewPager水平排列的视图,并可以循环他们与PagerAdapter。 目前,为了执行我想要刷卡的操作,我必须在视图的页面上双击。 我可以发布代码,但是提取必要的作品有些困难… 我想要的是在这些视图上垂直滑动的能力,让它们通过轻扫和淡出垂直翻译,然后在距离设备边缘一定距离时执行一个动作。 要了解我在想什么,在“图库”应用程序中,您可以捏合打开的照片以缩小并打开水平幻灯片视图。 从那里你可以向上(或向下)的照片/video删除它。 对于那些没有相同的图库应用程序,这就像在iOS上closures应用程序。 我已经尝试扫描图库应用程序的源代码,但没有find正确的活动运气。

Android:以编程方式使用片段

由于某些原因,我不能使用XML布局文件。 但我需要创build一个平板Android应用程序。 我决定使用片段。 我想创build这个XML生成的相同的布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <fragment class="com.example.ItemsList" android:id="@+id/items_list" android:layout_weight="1" android:layout_width="0dp" android:layout_height="fill_parent" /> <FrameLayout android:id="@+id/item_details" android:layout_weight="1" android:layout_width="0dp" android:layout_height="fill_parent" android:background="?android:attr/detailsElementBackground" /> </LinearLayout> 但我有添加片段到我的linearLayout的问题: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(createUI()); } private View createUI() { LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.HORIZONTAL); layout.setLayoutParams(new LinearLayout.LayoutParams(AbsListView.LayoutParams.FILL_PARENT, AbsListView.LayoutParams.FILL_PARENT)); layout.setId(0x101); { FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); […]

改变标签是缓慢/滞后 – 使用片段

我有一个使用标签的活动,标签切换片段。 问题在于Fragment在创build时需要几秒钟才能加载,因此切换标签的时间大约为1或2秒。 要解决这个问题,我一直在试图find一种方法来显示一个简单的加载graphics,甚至是一个进度对话框,以便该选项卡立即改变,并显示一些东西指示事情正在加载,直到一切完成。 我的片段的onCreateView方法如下所示: FrameLayout fl; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { fl = (FrameLayout) inflater.inflate(R.layout.text_layout, container, false); doHeavyStuff(); return fl; } 我尝试把doHeavyStuff()放在onStart()但是没有任何帮助。 而线程不会帮助,因为doHeavyStuff()涉及操纵视图/ GUI。 任何想法如何显示片段,并显示“加载”信息, 而其他一切都加载? 谢谢! 马特。

在两个片段之间切换的最佳方法

我感兴趣的是在两个片段之间切换的单个活动的最佳方式。 我已经阅读了大概15堆栈溢出的post和5篇博客文章如何做到这一点,而且,虽然我认为我拼凑了一个解决scheme,我不相信这是最好的。 所以,我想听取人们的意见,正确的处理方式,特别是关于父母活动和片段的生命周期。 详细情况如下: 父活动,可以显示两个可能的片段之一。 这两个片段的状态,我想坚持一个会议,但不一定需要坚持会议之间。 一些其他的活动,如父母的活动和碎片可能会被埋在背堆栈,并由于内存不足而被破坏。 我希望能够使用后退button在片段之间移动(据我所知,我不能使用setRetainInstance)。 除了一般的build筑build议外,我还有以下几个突出的问题: 如果由于内存不足而导致父活动被破坏,那么如何保证这两个片段的状态将被保留,如下所示: 当一个片段被replace并放入后退堆栈(或移除)时,它会留在内存中? 。 我只需要一个父指向每个片段的指针? 父母活动跟踪当前显示哪个片段的最好方法是什么? 提前致谢!

如何用第一个片段中的侦听器replace另一个片段

我在我的活动中使用两个片段。最初我会将一个片段添加到活动。然后使用第一个片段中的侦听器我想用第二个片段replace它。 我按照我的理解尝试,但并不是取代。 它显示了两个片段重叠。 Here is my code: // MainActivity public class MainActivity extends Activity { Fragment Fragment_one; Button one; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //one=(Button) findViewById(R.id.button1); //one.setOnClickListener(new View.OnClickListener() { //@Override //public void onClick(View arg0) { // TODO Auto-generated method stub FragmentManager man=getFragmentManager(); FragmentTransaction tran=man.beginTransaction(); Fragment_one=new Fragment1(); tran.add(R.id.fragment_container, Fragment_one);//tran. tran.addToBackStack(null); tran.commit(); //} //}); […]

Android的 – 如何“开始”或“初始化”一个活动的片段?

我有一个名为DummyFragment的类,它扩展了Fragment 。 public class DummyFragment extends Fragment { public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setRetainInstance(true); Log.i("myapp","test"); } } 现在,在我的父母活动中,我想要“运行”这个片段。 这是我的FirstActivity.java : public class FirstActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_first); // How do I run/start my fragment? I want it's onCreate method to fire Fragment fraggy = new […]

Android Studio中的多个根标签

我正在编辑Android Studio中的我的fragment_main.xml,并且出现此错误: 多根标签 这里的代码块是: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> </LinearLayout> <EditText <!–Error here in the bracket–> android:id="@+id/edit_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="@string/edit_message" /> <Button <!–Error here in the bracket–> android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_send"/> 我在EditText之前和Button之前得到括号中的错误