直播平臺搭建,自定義View實現loading動畫載入

zhibo系統開發發表於2023-10-13

直播平臺搭建,自定義View實現loading動畫載入

先自定義一個View,繼承自LinearLayout,在Layout中,新增佈局控制元件

/**
 * Created by xiedong on 2017/3/7.
 */
 
public class Loading_view extends LinearLayout {
    private Context mContext;
    private RelativeLayout loading_content;
    private ImageView img;
    private TextView loadingText;
 
    private AnimationDrawable animationDrawable;
 
    public Loading_view(Context context) {
        super(context);
        mContext = context;
        setupView();
    }
 
    public Loading_view(Context context, AttributeSet attrs) {
        super(context, attrs);
        mContext = context;
        setupView();
    }
 
    public Loading_view(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        mContext = context;
        setupView();
    }
 
    private void setupView() {
//    View view= LayoutInflater.from(mContext).inflate(R.layout.loading_view_layout,this);     //一定要把佈局新增進容器,不能為null
 
        View.inflate(mContext, R.layout.loading_view_layout, this);
 
        loading_content = (RelativeLayout) findViewById(R.id.loading_content);
        img = (ImageView) findViewById(R.id.img);
        loadingText = (TextView) findViewById(R.id.text);
 
        img.setImageResource(R.drawable.anim_loading);
        animationDrawable = ((AnimationDrawable) img.getDrawable());
        animationDrawable.start();
    }
 
    public void setMessage(String msg) {
        loadingText.setText(msg);
    }
}


 

自定義View的佈局檔案:

 

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="載入中..." /> </RelativeLayout> </LinearLayout>



這裡使用AnimationDrawable的方式來實現動畫效果,AnimationDrawable的list檔案如下:

 

 
<animation-list xmlns:android="


自定義View部分的工作完成之後,接下來就是如何在專案中具體運用。在相應的佈局中使用的時候,一定要記得把此佈局檔案add進ViewGroup中,因為該自定義的View跟呼叫他的View是獨立的兩個View,沒有完成add的話,loading佈局可能不會顯示出來。

private Loading_view loading_view; loading_view = new Loading_view(this); //例項化自定義VIew loading_view.setMessage("loading文字提示內容...."); //新增當前自定義View進主佈局檔案 addContentView(loading_view, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));


以上就是直播平臺搭建,自定義View實現loading動畫載入, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2988767/,如需轉載,請註明出處,否則將追究法律責任。

相關文章