我想点击按钮后显示简单的圆形进度条,但它不起作用。查看我的XML
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:gravity="center"
android:id="@+id/progress_layout">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
android:layout_gravity="center"
android:visibility="invisible" />
</FrameLayout>
我的java代码
postPet = (Button) myFragmentView.findViewById(R.id.post_pet);
postPet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progressBar.setVisibility(View.VISIBLE);
}
});
没有错误,点击后没有任何事情发生。
P.S。我在fragment&lt;创建方法
中初始化变量progressBar LayoutInflater infl = getActivity().getLayoutInflater();
ViewGroup rootGroup = (ViewGroup) getActivity().findViewById(R.id.progress_layout);
View root = infl.inflate(R.layout.fragment_new_pet_form, rootGroup);
progressBar = (ProgressBar) root.findViewById(R.id.progressBar);
答案 0 :(得分:0)
你应该将你的pb添加到xml中的按钮上,如:
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:gravity="center"
android:id="@+id/progress_layout">
<Button
android:id="@+id/post_pet"
your button description here />
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
android:layout_gravity="center"
android:visibility="gone" />
</FrameLayout>
这样它必须工作,你不需要另外给pb充气。
答案 1 :(得分:0)
尝试添加其中一个相关样式:http://developer.android.com/reference/android/widget/ProgressBar.html
您还可以将其父级的背景颜色设置为某个值,并查看是否有任何部分是不透明的:如果不是,则进度条没有宽度和高度或者不可见。
最后,您可以将hierarchyviewer与模拟器一起使用来检查布局并验证发生了什么。
此外,如果框架布局没有其他子项,请删除它并使用layout_gravity将进度条放在其父级中:不需要额外的视图组!