【问题标题】:Code referencing internal library not working引用内部库的代码不起作用
【发布时间】:2016-06-04 18:05:25
【问题描述】:

我正在尝试创建我的第一个库来学习和了解事物是如何工作的。应该发生的是我的主要活动(在示例中或任何使用本地库的应用程序中)将显示来自库的加载动画。但是当我添加代码时,它没有显示在示例中。我没有收到任何错误或任何东西。会发生什么?

示例主要活动:

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%"/>

drawable main_ind_progress 和drawable loader_main 都在库中。

所有代码:https://github.com/MJonesDev/EZLoadAnimLibrary

【问题讨论】:

    标签: java android xml shared-libraries


    【解决方案1】:

    ProgressBar 视图未添加到您当前的活动中,即您没有 ProgressBar 类型的视图,这就是它没有显示任何内容的原因

    您可以在当前活动的content_main 布局文件中为根RelativeLayout 分配一个ID,然后在OnCreate() 方法中分配一个ID

       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);
    

    【讨论】:

    • 我下班回家后试试这个。如果有效,我会通知您并将其标记为答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-23
    • 2023-03-07
    • 2020-03-06
    相关资源
    最近更新 更多