引用内部库的代码不起作用
Code referencing internal library not working
我正在尝试制作我的第一个图书馆来学习和了解它是如何工作的。应该发生的是我的主要 activity(在示例或任何使用本地库的应用程序中)将显示从库加载动画。但是当我添加代码时,它并没有显示在示例中。我没有收到任何错误或任何东西。可能发生了什么?
主样本 Activity:
public class MainActivity extends AppCompatActivity {
private ProgressBar spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//This is what isnt working. The spinner
spinner = (ProgressBar)findViewById(com.marlonjones.ezloadanimlibrary.R.id.main_progress);
图书馆XML:
<RelativeLayout
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">
<ProgressBar
android:id="@+id/main_progress"
android:layout_height="50dp"
android:layout_width="60dp"
android:layout_centerInParent="true"
android:indeterminate="true"
android:indeterminateDrawable="@drawable/main_ind_progress"/>
</RelativeLayout>
main_ind_progress:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/loader_main"
android:pivotX="50%"
android:pivotY="50%"/>
可绘制对象main_ind_progress和可绘制对象loader_main都在库中。
ProgressBar
视图未添加到您当前的 Activity 即您没有 ProgressBar
类型的视图,这就是它不显示任何内容的原因
您可以在当前 Activity 的 content_main
布局文件中为根 RelativeLayout
分配一个 id,然后在 OnCreate()
方法中
RelativeLayout rL = (RelativeLayout) findViewById(R.id.your_id);
// and then add your spinner to the relative layout
rL.addView(snipper);
或者您可以做的是在您当前应用的 content_main.xml
文件中创建一个 ProgressBar
<ProgressBar
android:id="@+id/my_progress_bar"
android:layout_height="50dp"
android:layout_width="60dp"
android:layout_centerInParent="true"
android:indeterminate="true"
/>
并从您的图书馆main_ind_progress to
分配给它
ProgressBar spinner=(ProgressBar) findViewById(R.id.your_progress_bar_id);
spinner.setIntermediateDrawable(com.marlonjones.ezloadanimlibrary.R.drawable.main_ind_progress);
我正在尝试制作我的第一个图书馆来学习和了解它是如何工作的。应该发生的是我的主要 activity(在示例或任何使用本地库的应用程序中)将显示从库加载动画。但是当我添加代码时,它并没有显示在示例中。我没有收到任何错误或任何东西。可能发生了什么?
主样本 Activity:
public class MainActivity extends AppCompatActivity {
private ProgressBar spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//This is what isnt working. The spinner
spinner = (ProgressBar)findViewById(com.marlonjones.ezloadanimlibrary.R.id.main_progress);
图书馆XML:
<RelativeLayout
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">
<ProgressBar
android:id="@+id/main_progress"
android:layout_height="50dp"
android:layout_width="60dp"
android:layout_centerInParent="true"
android:indeterminate="true"
android:indeterminateDrawable="@drawable/main_ind_progress"/>
</RelativeLayout>
main_ind_progress:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/loader_main"
android:pivotX="50%"
android:pivotY="50%"/>
可绘制对象main_ind_progress和可绘制对象loader_main都在库中。
ProgressBar
视图未添加到您当前的 Activity 即您没有 ProgressBar
类型的视图,这就是它不显示任何内容的原因
您可以在当前 Activity 的 content_main
布局文件中为根 RelativeLayout
分配一个 id,然后在 OnCreate()
方法中
RelativeLayout rL = (RelativeLayout) findViewById(R.id.your_id);
// and then add your spinner to the relative layout
rL.addView(snipper);
或者您可以做的是在您当前应用的 content_main.xml
文件中创建一个 ProgressBar
<ProgressBar
android:id="@+id/my_progress_bar"
android:layout_height="50dp"
android:layout_width="60dp"
android:layout_centerInParent="true"
android:indeterminate="true"
/>
并从您的图书馆main_ind_progress to
分配给它
ProgressBar spinner=(ProgressBar) findViewById(R.id.your_progress_bar_id);
spinner.setIntermediateDrawable(com.marlonjones.ezloadanimlibrary.R.drawable.main_ind_progress);