get rid of old layout hack
This commit is contained in:
parent
1784b43785
commit
2603aa8f08
@ -48,16 +48,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:textColor="?android:textColorPrimary"
|
android:textColor="?android:textColorPrimary"
|
||||||
android:gravity="left|center_vertical"
|
android:gravity="left|center_vertical"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0px"
|
||||||
|
android:layout_weight="1"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:paddingTop="2dip"
|
android:paddingTop="2dip"
|
||||||
android:paddingBottom="2dip"
|
android:paddingBottom="2dip"
|
||||||
android:paddingLeft="4dip" />
|
android:paddingLeft="4dip" />
|
||||||
<!-- spacer -->
|
|
||||||
<View
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_weight="1"/>
|
|
||||||
<CheckedTextView
|
<CheckedTextView
|
||||||
android:id="@+id/checkbox"
|
android:id="@+id/checkbox"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
@ -32,27 +32,15 @@ public class DraggableRow extends LinearLayout implements Checkable {
|
|||||||
private boolean mHighlighted;
|
private boolean mHighlighted;
|
||||||
private boolean mChecked;
|
private boolean mChecked;
|
||||||
|
|
||||||
private float mDensity;
|
|
||||||
private static int sWidth = -1;
|
|
||||||
|
|
||||||
private TextView mTextView;
|
private TextView mTextView;
|
||||||
private CheckedTextView mCheckBox;
|
private CheckedTextView mCheckBox;
|
||||||
private View mPmark;
|
private View mPmark;
|
||||||
private ImageView mDragger;
|
private ImageView mDragger;
|
||||||
private LazyCoverView mCoverView;
|
private LazyCoverView mCoverView;
|
||||||
|
|
||||||
// Hardcoded sizes of elements in DPI
|
|
||||||
// MUST match definition in draggable_row
|
|
||||||
private final int DPI_PMARK = 4;
|
|
||||||
private final int DPI_CHECKBOX = 44;
|
|
||||||
private final int DPI_DRAGGER = 44;
|
|
||||||
private final int DPI_COVER = 44;
|
|
||||||
private final int DPI_SLACK = 1; // safety margin
|
|
||||||
|
|
||||||
|
|
||||||
public DraggableRow(Context context, AttributeSet attrs) {
|
public DraggableRow(Context context, AttributeSet attrs) {
|
||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
mDensity = context.getResources().getDisplayMetrics().density;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -63,33 +51,10 @@ public class DraggableRow extends LinearLayout implements Checkable {
|
|||||||
mPmark = (View)this.findViewById(R.id.pmark);
|
mPmark = (View)this.findViewById(R.id.pmark);
|
||||||
mDragger = (ImageView)this.findViewById(R.id.dragger);
|
mDragger = (ImageView)this.findViewById(R.id.dragger);
|
||||||
mCoverView = (LazyCoverView)this.findViewById(R.id.cover);
|
mCoverView = (LazyCoverView)this.findViewById(R.id.cover);
|
||||||
setupTextView(false);
|
super.onFinishInflate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onSizeChanged (int w, int h, int oldw, int oldh) {
|
|
||||||
super.onSizeChanged(w, h, oldw, oldh);
|
|
||||||
if (sWidth != w) {
|
|
||||||
sWidth = w;
|
|
||||||
// This view was drawn with an incorrect with
|
|
||||||
// fix it and force a redraw
|
|
||||||
setupTextView(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resizes our textview to the correct size
|
|
||||||
* @param redraw invalidates the current view if TRUE
|
|
||||||
*/
|
|
||||||
private void setupTextView(boolean redraw) {
|
|
||||||
int pixelUsed = (int)((DPI_SLACK + DPI_PMARK + DPI_DRAGGER + (mShowCover ? DPI_COVER : 0) + (mShowCheckBox ? DPI_CHECKBOX : 0)) * mDensity);
|
|
||||||
int pixelFree = sWidth - pixelUsed;
|
|
||||||
if (pixelFree > 0)
|
|
||||||
mTextView.setWidth(pixelFree);
|
|
||||||
if (redraw == true)
|
|
||||||
this.invalidate();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isChecked() {
|
public boolean isChecked() {
|
||||||
@ -127,7 +92,6 @@ public class DraggableRow extends LinearLayout implements Checkable {
|
|||||||
if (mShowCheckBox != state) {
|
if (mShowCheckBox != state) {
|
||||||
mCheckBox.setVisibility( state ? View.VISIBLE : View.GONE );
|
mCheckBox.setVisibility( state ? View.VISIBLE : View.GONE );
|
||||||
mShowCheckBox = state;
|
mShowCheckBox = state;
|
||||||
setupTextView(true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,7 +104,6 @@ public class DraggableRow extends LinearLayout implements Checkable {
|
|||||||
if (mShowCover != state) {
|
if (mShowCover != state) {
|
||||||
mCoverView.setVisibility( state ? View.VISIBLE : View.GONE );
|
mCoverView.setVisibility( state ? View.VISIBLE : View.GONE );
|
||||||
mShowCover = state;
|
mShowCover = state;
|
||||||
setupTextView(true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user