我使用this library作为进度指示器,而我通过网络服务完成后台工作。我想在进度条显示时让背景透明。有没有什么方法可以使窗口透明编程,就像使用进度对话框一样?使进度条透明背景
public class MainActivity extends AppCompatActivity{
private EditText email, pass;
private SessionManager session;
private SQLiteHandler db;
private AVLoadingIndicatorView pb;
private static final String LOGIN = "http://ubooktoday.com/android/login";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
email = (EditText)findViewById(R.id.et1);
pass = (EditText)findViewById(R.id.et2);
session = new SessionManager(getApplicationContext());
db = new SQLiteHandler(getApplicationContext());
pb = new AVLoadingIndicatorView(this);
if (session.isLoggedIn()) {
startActivity(new Intent(MainActivity.this, ListVActivity.class));
finish();
}
}
public void login(View view){
if (!email.getText().toString().equals("") && !pass.getText().toString().equals("")) {
loginRequest();
}else{
Toast.makeText(getApplicationContext(), "Please enter the details", Toast.LENGTH_SHORT).show();
}
}
private void loginRequest() {
startAnim();
StringRequest stringRequest = new StringRequest(Request.Method.POST, LOGIN,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
stopAnim();
try {
JSONObject jObj = new JSONObject(response);
String status = jObj.getString("status");
// Now check status value
if (status.equals("0")) {
Toast.makeText(getApplicationContext(), jObj.getString("message"), Toast.LENGTH_LONG).show();
} else if (status.equals("1")) {
session.setLogin(true);
db.addUser(jObj.getString("spa_name"), jObj.getString("user_id"));
startActivity(new Intent(MainActivity.this, ListVActivity.class));
finish();
}
} catch (JSONException e) {
// JSON error
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Json error: " + e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "VolleyError" + error.toString(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("email", email.getText().toString());
params.put("pass", pass.getText().toString());
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
requestQueue.add(stringRequest);
}
public void startAnim(){
findViewById(R.id.avloadingIndicatorView).setVisibility(View.VISIBLE);
}
public void stopAnim(){
findViewById(R.id.avloadingIndicatorView).setVisibility(View.GONE);
}
}
它确实有效!谢啦。 –
快乐的编码咩:) :) @SomnathPal – Sanoop
@Sanoop请:我已经尝试了很多方式与这个库,但动画不开始,图像显示静态。可能这与我的线性布局有关系吗?非常感谢你,并感到很抱歉。 – statosdotcom