import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
-import android.widget.TableLayout;
-import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
private static long account_list_last_updated;
private static boolean account_list_needs_update = true;
- private TableRow clickedAccountRow;
+ private LinearLayout clickedAccountRow;
public static void preferences_changed() {
account_list_needs_update = true;
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.account_summary, menu);
mRefresh = menu.findItem(R.id.menu_acc_summary_refresh);
- assert mRefresh != null;
+ if (mRefresh == null) throw new AssertionError();
return true;
}
}
private void update_accounts() {
- mRefresh.setVisible(false);
+ if (mRefresh != null) mRefresh.setVisible(false);
Resources rm = getResources();
ProgressBar pb = findViewById(R.id.progressBar);
protected void onPostExecute(Void result) {
pb.setVisibility(GONE);
pt.setVisibility(GONE);
- mRefresh.setVisible(true);
+ if (mRefresh != null) mRefresh.setVisible(true);
if (this.error != 0) {
String err_text = rm.getString(this.error);
Log.d("visual", String.format("showing snackbar: %s", err_text));
View.OnCreateContextMenuListener ccml = new View.OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
- clickedAccountRow = (TableRow) v;
+ clickedAccountRow = (LinearLayout) v;
getMenuInflater().inflate(R.menu.account_summary_account_menu, menu);
}
};
while (cursor.moveToNext()) {
String acc_name = cursor.getString(0);
- TableLayout t = new TableLayout(this);
- TableRow r = new TableRow(this);
- r.setLayoutParams(new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
+ LinearLayout r = new LinearLayout(this);
+ r.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
r.setGravity(Gravity.CENTER_VERTICAL);
r.setPadding(getResources().getDimensionPixelSize(R.dimen.activity_horizontal_margin), dp2px(3), getResources().getDimensionPixelSize(R.dimen.activity_horizontal_margin), dp2px(4));
if (even)
TextView acc_tv = new TextView(this, null, R.style.account_summary_account_name);
- acc_tv.setLayoutParams(new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, 9f));
+ acc_tv.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT, 5f));
+ acc_tv.setGravity(Gravity.CENTER_VERTICAL);
int[] indent_level = new int[]{0};
String short_acc_name = strip_higher_accounts(acc_name, indent_level);
acc_tv.setPadding(indent_level[0] * getResources().getDimensionPixelSize(R.dimen.activity_horizontal_margin) / 2, 0, 0, 0);
r.addView(acc_tv);
TextView amt_tv = new TextView(this, null, R.style.account_summary_amounts);
- amt_tv.setLayoutParams(new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, 1f));
+ amt_tv.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT, 1f));
amt_tv.setTextAlignment(EditText.TEXT_ALIGNMENT_VIEW_END);
- amt_tv.setGravity(Gravity.CENTER);
- amt_tv.setMinWidth(dp2px(40f));
+ amt_tv.setGravity(Gravity.CENTER_VERTICAL);
+// amt_tv.setGravity(Gravity.CENTER);
+ amt_tv.setMinWidth(dp2px(60f));
StringBuilder amt_text = new StringBuilder();
try (Cursor cAmounts = db.rawQuery("SELECT currency, value FROM account_values WHERE account = ?", new String[]{acc_name})) {
while (cAmounts.moveToNext()) {
r.addView(amt_tv);
- t.addView(r);
-
- root.addView(t);
+ root.addView(r);
}
}
}
android:layout_height="wrap_content"
android:orientation="vertical">
- <TableLayout style="@style/account_summary_account_entry_table">
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
- <TableRow
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/table_row_even_bg"
- android:gravity="center"
- android:paddingStart="@dimen/activity_horizontal_margin"
- android:paddingEnd="@dimen/activity_horizontal_margin">
+ <TextView
+ android:id="@+id/textView"
+ style="@style/account_summary_account_name"
+ android:text="Account name, a really long one. A very very very long one. It may even spawn on more than two lines -- three, four or more." />
- <TextView
- android:id="@+id/textView"
- style="@style/account_summary_account_name"
- android:text="TextView" />
+ <TextView
+ android:id="@+id/textView2"
+ style="@style/account_summary_amounts"
+ android:text="123,45\n678,90" />
+ </LinearLayout>
- <TextView
- android:id="@+id/textView2"
- style="@style/account_summary_amounts"
- android:text="123,45\n678,90" />
- </TableRow>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/textView3"
+ style="@style/account_summary_account_name"
+ android:text="TextView" />
+
+ <TextView
+ android:id="@+id/textView4"
+ style="@style/account_summary_amounts"
+ android:text="123,45\n678,90" />
+
+ </LinearLayout>
- </TableLayout>
</LinearLayout>
</ScrollView>