Fix for two lines of text don't fit, picture checkbox is too big

pull/14/head
Tim Su 14 years ago
parent 8c9ed942f5
commit 17469cd968

@ -11,10 +11,13 @@ import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import android.app.Activity; import android.app.Activity;
import android.content.Context;
import android.database.Cursor; import android.database.Cursor;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.MarginLayoutParams;
import android.widget.ListView; import android.widget.ListView;
import com.commonsware.cwac.tlv.TouchListView.DropListener; import com.commonsware.cwac.tlv.TouchListView.DropListener;
@ -176,11 +179,29 @@ public class SubtasksFragmentHelper {
return (ViewHolder)((View)v.getParent()).getTag(); return (ViewHolder)((View)v.getParent()).getTag();
} }
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
View view = super.newView(context, cursor, parent);
view.getLayoutParams().height = Math.round(45 * metrics.density);
ViewHolder vh = (ViewHolder) view.getTag();
MarginLayoutParams rowParams = (MarginLayoutParams) vh.rowBody.getLayoutParams();
rowParams.topMargin = rowParams.bottomMargin = 0;
ViewGroup.LayoutParams pictureParams = vh.picture.getLayoutParams();
pictureParams.width = pictureParams.height = Math.round(38 * metrics.density);
pictureParams = vh.pictureBorder.getLayoutParams();
pictureParams.width = pictureParams.height = Math.round(38 * metrics.density);
return view;
}
@Override @Override
public synchronized void setFieldContentsAndVisibility(View view) { public synchronized void setFieldContentsAndVisibility(View view) {
super.setFieldContentsAndVisibility(view); super.setFieldContentsAndVisibility(view);
view.getLayoutParams().height = Math.round(45 * metrics.density);
ViewHolder vh = (ViewHolder) view.getTag(); ViewHolder vh = (ViewHolder) view.getTag();
int indent = vh.task.getValue(SubtasksMetadata.INDENT); int indent = vh.task.getValue(SubtasksMetadata.INDENT);
vh.rowBody.setPadding(Math.round(indent * 20 * metrics.density), 0, 0, 0); vh.rowBody.setPadding(Math.round(indent * 20 * metrics.density), 0, 0, 0);

Loading…
Cancel
Save