我已经创建了Android应用程序几个月了,我在使用它时遇到了麻烦Fragments.
Fragments 应该是可重用的UI组件,但是你能让它们在多远的程度上独立存在?
其中的Fragments创建[我已是一个ListFragment可下载的视频.目前我已经实现Fragment了调用主机的方法很少或没有实现的所有方法Activity.在Fragment调用Activity了一些小东西,但一切都像在外部存储下载文件并发现它们是由完成Fragment.
90%的时间我发现它是实现它的最简单的方法,但有时它只是不起作用.
一个例子是用于删除我的视频的确认对话框ListFragment.该对话框是DialogFragment附加到Activity但所有UI更新和删除方法都在内部ListFragment.所以我最终DialogFragment打电话给Activity刚刚打电话给ListFragment.
另一个例子是绑定到a Service.难道我绑定Activity到Service或者仅仅是Fragment?在Activity没有用的Service,而是一个Fragment应该做的启动和维护的所有工作Service?如果不是这意味着所有的Fragments呼叫Service必须通过,Activity所以Fragment不再是孤立的.
我想知道我是不是把独立的想法放得太远了,是Fragment不是应该是最低限度的自足,实际上依靠Activity托管它来解决所有繁重的问题?
谢谢你的帮助.
我正在尝试在xml中自定义一个不确定的进度条,但我找不到方法来对齐边缘.我从SDK资源中找到了默认的xml drawable,但它们只引用了PNG而没有提到形状.
这是SDK资源中的默认xml:
<?xml version="1.0" encoding="utf-8"?>
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/progressbar_indeterminate1" android:duration="200" />
<item android:drawable="@drawable/progressbar_indeterminate2" android:duration="200" />
<item android:drawable="@drawable/progressbar_indeterminate3" android:duration="200" />
</animation-list>
Run Code Online (Sandbox Code Playgroud)
progressbar_indeterminate1,2和3只是方形PNG,但它始终显示带圆边的进度条.
我尝试过创建一个形状并使用PNG作为背景:
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/progressbar_indeterminate1"
android:duration="200">
<shape>
<corners android:radius="0dp" />
</shape>
</item>
</animation-list>
Run Code Online (Sandbox Code Playgroud)
但它并没有改变形状.我发布了图片,但我还没有足够的声誉.我错过了什么?谢谢你的帮助.