我有以下屏幕:
[当我单击AREA DE EXPOSICION
TextView
时,ExhibitionAreaFragment
被加载到2 TextViews
之下,当我单击SALÓN MULTIUSOS
TextView
时,MultipurposeRoomFragment
被加载在2 TextViews
之下。由于2 fragments
包含非常大的可缩放图像,因此片段的更改持续2到3秒。等待时,我想像这样的加载微调器显示在屏幕上,代替片段:
不一定与链接中的看起来完全相同,但我希望它成为加载微调器,并且希望它成为活动布局的一部分,而不是警报对话框。
这是我的MainActivity
课程:
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : AppCompatActivity
{
TextView exhibitionAreaTextView;
TextView multipurposeRoomTextView;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.activity_main);
exhibitionAreaTextView = FindViewById<TextView>(Resource.Id.exhibitionAreaTextView);
multipurposeRoomTextView = FindViewById<TextView>(Resource.Id.multipurposeRoomTextView);
ExhibitionAreaFragment exhibitionAreaFragment = new ExhibitionAreaFragment();
MultipurposeRoomFragment multipurposeRoomFragment = new MultipurposeRoomFragment();
SupportFragmentManager.BeginTransaction().Add(Resource.Id.imageZoneLinearLayout, exhibitionAreaFragment).Commit();
exhibitionAreaTextView.Click += delegate
{
SupportFragmentManager.BeginTransaction().Replace(Resource.Id.imageZoneLinearLayout, exhibitionAreaFragment).Commit();
};
multipurposeRoomTextView.Click += delegate
{
SupportFragmentManager.BeginTransaction().Replace(Resource.Id.imageZoneLinearLayout, multipurposeRoomFragment).Commit();
};
}
}
这是我的activity_main
布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:orientation="horizontal"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="100"
android:layout_margin="10dp">
<TextView
android:text="ÁREA DE EXPOSICION"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/exhibitionAreaTextView"
android:layout_weight="50"
android:gravity="center"
android:background="#0000FF"/>
<TextView
android:text="SALÓN MULTIUSOS"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/multipurposeRoomTextView"
android:layout_weight="50"
android:gravity="center"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageZoneLinearLayout" />
</LinearLayout>
要创建加载视图,我已完成以下操作:
view.GONE
和view.VISIBLE
在.kt文件中指定这些视图的行为(使用kotlin)>progressBar.xml
看起来像这样:
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/progressBar" android:layout_width="50dp" android:layout_height="50dp" android:layout_centerInParent="true" android:layout_gravity="center" />
blank_layout.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/emptyLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_gravity="center" android:orientation="vertical" android:visibility="gone"> <TextView android:id="@+id/emptyView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginStart="20dp" android:layout_marginEnd="20dp" android:fontFamily="@font/gotham_medium" android:gravity="center" android:textSize="17sp" android:lineSpacingExtra="2dp" tools:text="some error" /> <com.google.android.material.button.MaterialButton android:id="@+id/retry" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="10dp" app:cornerRadius="3dp" android:text="retry" android:visibility="gone" /> </LinearLayout>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ui.activity.MainActivity">
<LinearLayout
android:orientation="horizontal"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="100"
android:layout_margin="10dp">
<TextView
android:text="ÁREA DE EXPOSICION"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/exhibitionAreaTextView"
android:layout_weight="50"
android:gravity="center"
android:background="#0000FF"/>
<TextView
android:text="SALÓN MULTIUSOS"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/multipurposeRoomTextView"
android:layout_weight="50"
android:gravity="center"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageZoneLinearLayout"
android:orientation="vertical">
<include layout="@layout/empty_layout" />
<include layout="@layout/progressbar" />
</LinearLayout>
</LinearLayout>