創建新的自定義擴展的ViewGroup 的FrameLayout
這樣的:
public class CustomLayout extends FrameLayout {
ProgressBar myProgressBar;
public CustomLayout (Context context) {
super(context);
}
public CustomLayout (Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomLayout (Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public void show() {
if (myProgressBar == null) {
addMyProgressBar();
}
myProgressBar.setVisibility(VISIBLE);
}
public void hide() {
if (myProgressBar == null) {
addMyProgressBar();
}
myProgressBar.setVisibility(GONE);
}
private void addMyProgressBar() {
myProgressBar = new ProgressBar(getContext());
LayoutParams params = new LayoutParams(100, 100, Gravity.CENTER);
addView(myProgressBar, params);
}
}
如果你想使進度總在最前面
:
- 編輯
show()
和hide()
方法。
- add
removeMyProgressBar()
方法。
是這樣的:
public void show() {
if (myProgressBar == null)
addMyProgressBar();
}
public void hide() {
if (myProgressBar != null)
removeMyProgressBar();
}
private void removeMyProgressBar() {
if (myProgressBar != null) {
removeView(myProgressBar);
myProgressBar = null;
}
}
肯定的是,提供'ActivityBody'是'ViewGroup'(定製'LinearLayout'例如) – pskink
是的,但一個例子來說明如何我要補充進度酒吧的ActivityBody將是偉大的。 –
只需調用'addView()' – pskink