package gui;
import gl.Color;
import android.content.Context;
import android.view.Gravity;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
* You can use {@link InfoScreenSettings#addText(String)} and
* {@link InfoScreenSettings#addTextWithIcon(int, String)} to display some
* custom information to the user
*
* @author Spobo
*
*/
public class InfoScreenSettings {
private LinearLayout myLinLayout;
private Context myContext;
public Color backgroundColor;
private String myCloseButtonText = "Close";
public boolean hasCloseButton = true;
public int padding = 10;
public int iconPadding = 3;
public int spacerPadding = 0;
private String myLoadingText = " Loading... ";
private boolean closeInstantly;
public InfoScreenSettings(Context c) {
myContext = c;
myLinLayout = new LinearLayout(c);
backgroundColor = new Color(0, 0, 0, 0.5f);
myLinLayout.setOrientation(LinearLayout.VERTICAL);
myLinLayout.setPadding(padding, padding, padding, padding);
// myLinLayout.setLayoutParams(params)
}
public LinearLayout getLinLayout() {
return myLinLayout;
}
public void addView(View v) {
myLinLayout.addView(v);
}
public void addText(String text) {
TextView t = new TextView(myContext);
t.setText(text);
t.setPadding(0, spacerPadding, 0, spacerPadding);
myLinLayout.addView(t);
}
public void addTextWithIcon(int iconId, String text) {
LinearLayout l = new LinearLayout(myContext);
l.setGravity(Gravity.CENTER_VERTICAL);
ImageView i = new ImageView(myContext);
i.setPadding(0, iconPadding, iconPadding * 2, iconPadding);
i.setImageResource(iconId);
l.addView(i);
TextView t = new TextView(myContext);
t.setText(text);
l.addView(t);
l.setPadding(0, spacerPadding, 0, spacerPadding);
myLinLayout.addView(l);
}
public String getLoadingText() {
return myLoadingText;
}
public String getCloseButtonText() {
return myCloseButtonText;
}
public void setCloseButtonText(String closeButtonText) {
this.myCloseButtonText = closeButtonText;
}
public void setLoadingText(String myLoadingText) {
this.myLoadingText = myLoadingText;
}
public boolean closeInstantly() {
return closeInstantly;
}
public void setCloseInstantly() {
closeInstantly = true;
}
}