在片段转换期间,我一直在尝试许多不同的方法来实现正确的进度微调器。像这样:
我遇到的主要问题是当微调器消失且(微调器)背景变得透明时,旧片段仍在显示。我尝试了一些事情没有运气,我觉得我已经没有选择了。如果有人知道如何干净利落,请告诉我。我还想保留我使用add
代替replace
而不是<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<FrameLayout
android:id="@+id/main_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.citychurchtulsa.cc.citychurchapp.MainActivity"/>
<!--Only holds progress bar, main container will be for fragment display!!!-->
<RelativeLayout
android:id="@+id/relative_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ViewStub
android:id="@+id/loadSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inflatedId="@+id/subView"
android:layout="@layout/progress_spinner"/>
</RelativeLayout>
<!-- Side navigation drawer UI -->
<ExpandableListView
android:id="@+id/nav_view"
android:layout_width="@dimen/nav_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="left|start"
android:background="@color/white"
android:divider="@color/colorPrimary"
android:dividerHeight="@dimen/divider_height"
android:groupIndicator="@android:color/transparent"
android:indicatorLeft="?
android:attr/expandableListPreferredItemIndicatorLeft"/>
</android.support.v4.widget.DrawerLayout>
我正在使用DrawerLayout的方式,这是我的布局XML:
ProgressBar
我试过了:
将RelativeLayout
放在RelativeLayout
中,然后在我需要的时候设置可见性,将onViewCreated
背景设置为颜色,并关闭可见性并将背景设置为透明,当我不。在扩展片段类之外完成。
与上面相同,但是在扩展片段类中完成。这里尝试了两种不同的方法。在一次尝试中,我将项目隐藏在onStart
中,另一项隐藏在postDelayed
中。
创建一个我使用的空片段就像我提交的其他片段一样,然后返回所需片段的提交
使用public void enableLoadSpinner(boolean set){
if(set)
{
mainContainer.setVisibility(View.GONE);
loadSpinner.setVisibility(View.VISIBLE);
relativeLayout.setBackgroundResource(R.color.colorSecondary);
}
else
{
mainContainer.setVisibility(View.VISIBLE);
loadSpinner.setVisibility(View.GONE);
relativeLayout.setBackgroundResource(android.R.color.transparent);
}
}
处理程序,但由于所有设备都不同,我不一定喜欢它
无论如何,我觉得我已经尝试了更多,但是我无法想到其他任何东西。我非常感谢任何帮助。
这是我一直试图使用的微调器的显示/隐藏代码:
import java.util.Scanner;
import java.util.ArrayList;
public class SparseArrays{
// count the number of occurances of a string in an array
int countStringOccurance(ArrayList<String> arr, String str){
int count = 0;
for (int i=0; i<arr.size(); i++) {
if (str==arr.get(i)) {
count += 1;
}
}
return count;
}
void start(){
// scanner object
Scanner input = new Scanner(System.in);
// ask for user to input num strings
System.out.println("How many string would you like to enter?");
// store the number of strings
int numStrings = input.nextInt();
// to get rid of extra space
input.nextLine();
// ask user to enter strings
System.out.println("Enter the "+numStrings+" strings.");
ArrayList<String> stringInputArray = new ArrayList<String>();
for (int i=0; i<numStrings; i++) {
stringInputArray.add(input.nextLine());
} // all strings are in the stringInputArray
// ask user to input num queries
System.out.println("Enter number of queries.");
int numQueries = input.nextInt();
// to get rid of extra space
input.nextLine();
// ask user to enter string queries
System.out.println("Enter the "+numQueries+" queries.");
ArrayList<String> stringQueriesArray = new ArrayList<String>();
for (int i=0; i<numQueries; i++) {
stringQueriesArray.add(input.nextLine());
} // all string queries are in the stringQueriesArray
for (int i=0; i<stringQueriesArray.size(); i++) {
int result =
countStringOccurance(stringInputArray,stringQueriesArray.get(i));
System.out.println(result);
}
}
void printArr(ArrayList<String> arr){
for (int i=0; i<arr.size(); i++) {
System.out.println(arr.get(i));
}
System.out.println(" ");
}
public static void main(String[] args) {
SparseArrays obj = new SparseArrays();
obj.start();
}
}
答案 0 :(得分:0)
好吧,我发现了问题!关于FragmentTransaction
与FragmentTransaction
的观点存在问题!两者之间发生了某种奇怪的互动,因此我删除了ProgressBar
并使用自定义动画使# models/company.rb
class Company < ApplicationRecord
has_one :ceo
end
# models/ceo.rb
Class Ceo < ApplicationRecord
belongs_to :company
end
# controllers/company_controller.rb
@company = Company.join(:ceo)
# views/company/index.html.erb
# ...somewhere in the view
#{@company.ceo.name}
消失。