177 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			177 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| /*
 | |
|  * This is the source code of Telegram for Android v. 1.7.x.
 | |
|  * It is licensed under GNU GPL v. 2 or later.
 | |
|  * You should have received a copy of the license in this archive (see LICENSE).
 | |
|  *
 | |
|  * Copyright Nikolai Kudashov, 2013-2014.
 | |
|  */
 | |
| 
 | |
| package com.novelbook.android.filechooser;
 | |
| 
 | |
| import android.content.Context;
 | |
| import android.graphics.Color;
 | |
| import android.graphics.Typeface;
 | |
| import android.text.TextUtils;
 | |
| import android.util.TypedValue;
 | |
| import android.view.Gravity;
 | |
| import android.view.View;
 | |
| import android.widget.CheckBox;
 | |
| import android.widget.FrameLayout;
 | |
| import android.widget.ImageView;
 | |
| import android.widget.TextView;
 | |
| 
 | |
| public class TextDetailDocumentsCell extends FrameLayout {
 | |
| 
 | |
|     private TextView textView;
 | |
|     private TextView valueTextView;
 | |
|     private TextView typeTextView;
 | |
|     private TextView storageTextView;
 | |
|     private ImageView imageView;
 | |
|     private CheckBox checkBox;
 | |
| 
 | |
|     public TextDetailDocumentsCell(Context context) {
 | |
|         super(context);
 | |
| 
 | |
|         textView = new TextView(context);
 | |
|         textView.setTextColor(0xff212121);
 | |
|         textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
 | |
|         textView.setLines(1);
 | |
|         textView.setMaxLines(1);
 | |
|         textView.setSingleLine(true);
 | |
|         textView.setGravity(Gravity.LEFT);
 | |
|         addView(textView);
 | |
|         LayoutParams layoutParams = (LayoutParams) textView.getLayoutParams();
 | |
|         layoutParams.width = LayoutParams.WRAP_CONTENT;
 | |
|         layoutParams.height = LayoutParams.WRAP_CONTENT;
 | |
|         layoutParams.topMargin = AndroidUtilities.dp(10);
 | |
|         layoutParams.leftMargin = AndroidUtilities.dp(71);
 | |
|         layoutParams.rightMargin = AndroidUtilities.dp(16);
 | |
|         layoutParams.gravity = Gravity.LEFT;
 | |
|         textView.setLayoutParams(layoutParams);
 | |
| 
 | |
|         valueTextView = new TextView(context);
 | |
|         valueTextView.setTextColor(0xff8a8a8a);
 | |
|         valueTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 13);
 | |
|         valueTextView.setLines(1);
 | |
|         valueTextView.setMaxLines(1);
 | |
|         valueTextView.setSingleLine(true);
 | |
|         valueTextView.setGravity(Gravity.LEFT);
 | |
|         addView(valueTextView);
 | |
|         layoutParams = (LayoutParams) valueTextView.getLayoutParams();
 | |
|         layoutParams.width = LayoutParams.WRAP_CONTENT;
 | |
|         layoutParams.height = LayoutParams.WRAP_CONTENT;
 | |
|         layoutParams.topMargin = AndroidUtilities.dp(35);
 | |
|         layoutParams.leftMargin = AndroidUtilities.dp(71);
 | |
|         layoutParams.rightMargin = AndroidUtilities.dp(16);
 | |
|         layoutParams.gravity = Gravity.LEFT;
 | |
|         valueTextView.setLayoutParams(layoutParams);
 | |
| 
 | |
|         typeTextView = new TextView(context);
 | |
|         typeTextView.setBackgroundColor(0xff757575);
 | |
|         typeTextView.setEllipsize(TextUtils.TruncateAt.MARQUEE);
 | |
|         typeTextView.setGravity(Gravity.CENTER);
 | |
|         typeTextView.setSingleLine(true);
 | |
|         typeTextView.setTextColor(0xffd1d1d1);
 | |
|         typeTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
 | |
|         typeTextView.setTypeface(Typeface.DEFAULT_BOLD);
 | |
|         addView(typeTextView);
 | |
|         layoutParams = (LayoutParams) typeTextView.getLayoutParams();
 | |
|         layoutParams.width = AndroidUtilities.dp(40);
 | |
|         layoutParams.height = AndroidUtilities.dp(40);
 | |
|         layoutParams.leftMargin = AndroidUtilities.dp(16);
 | |
|         layoutParams.rightMargin = AndroidUtilities.dp(0);
 | |
|         layoutParams.gravity = Gravity.LEFT | Gravity.CENTER_VERTICAL;
 | |
|         typeTextView.setLayoutParams(layoutParams);
 | |
| 
 | |
|         imageView = new ImageView(context);
 | |
|         addView(imageView);
 | |
|         layoutParams = (LayoutParams) imageView.getLayoutParams();
 | |
|         layoutParams.width = AndroidUtilities.dp(40);
 | |
|         layoutParams.height = AndroidUtilities.dp(40);
 | |
|         layoutParams.leftMargin = AndroidUtilities.dp(16);
 | |
|         layoutParams.rightMargin = AndroidUtilities.dp(0);
 | |
|         layoutParams.gravity = Gravity.LEFT | Gravity.CENTER_VERTICAL;
 | |
|         imageView.setLayoutParams(layoutParams);
 | |
| 
 | |
|         checkBox = new CheckBox(context);
 | |
|         checkBox.setVisibility(GONE);
 | |
|         checkBox.setFocusable(false);
 | |
|         addView(checkBox);
 | |
|         layoutParams = (LayoutParams) checkBox.getLayoutParams();
 | |
|         layoutParams.width = LayoutParams.WRAP_CONTENT;
 | |
|         layoutParams.height = LayoutParams.WRAP_CONTENT;
 | |
| //        layoutParams.topMargin = AndroidUtilities.dp(34);
 | |
|         layoutParams.leftMargin = AndroidUtilities.dp(16) ;
 | |
|         layoutParams.rightMargin = AndroidUtilities.dp(16);
 | |
|         layoutParams.gravity = Gravity.RIGHT | Gravity.CENTER_VERTICAL;
 | |
|         checkBox.setLayoutParams(layoutParams);
 | |
| 
 | |
|         storageTextView = new TextView(context);
 | |
|         storageTextView.setEllipsize(TextUtils.TruncateAt.MARQUEE);
 | |
|         storageTextView.setGravity(Gravity.CENTER);
 | |
|         storageTextView.setSingleLine(true);
 | |
|         storageTextView.setTextColor(Color.RED);
 | |
|         storageTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
 | |
|         storageTextView.setTypeface(Typeface.DEFAULT_BOLD);
 | |
|         storageTextView.setVisibility(GONE);
 | |
|         storageTextView.setText("已导入");
 | |
|         addView(storageTextView);
 | |
|         layoutParams = (LayoutParams) storageTextView.getLayoutParams();
 | |
|         layoutParams.width = LayoutParams.WRAP_CONTENT;
 | |
|         layoutParams.height = LayoutParams.WRAP_CONTENT;
 | |
|         layoutParams.leftMargin = AndroidUtilities.dp(16) ;
 | |
|         layoutParams.rightMargin = AndroidUtilities.dp(16);
 | |
|         layoutParams.gravity = Gravity.RIGHT | Gravity.CENTER_VERTICAL;
 | |
|         storageTextView.setLayoutParams(layoutParams);
 | |
|     }
 | |
| 
 | |
|     @Override
 | |
|     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
 | |
|         super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(64), MeasureSpec.EXACTLY));
 | |
|     }
 | |
| 
 | |
|     public void setTextAndValueAndTypeAndThumb(String text, String value, String type, String thumb, int resId,boolean isStorage) {
 | |
|         textView.setText(text);
 | |
|         valueTextView.setText(value);
 | |
| 
 | |
|         if (type != null) {
 | |
|             typeTextView.setVisibility(VISIBLE);
 | |
|             typeTextView.setText(type);
 | |
| 
 | |
|             if (isStorage){
 | |
|                 storageTextView.setVisibility(VISIBLE);
 | |
|                 checkBox.setVisibility(View.GONE);
 | |
|             }else{
 | |
|                 storageTextView.setVisibility(GONE);
 | |
|                 checkBox.setVisibility(View.VISIBLE);
 | |
|             }
 | |
|         } else {
 | |
|             typeTextView.setVisibility(GONE);
 | |
|             checkBox.setVisibility(View.GONE);
 | |
|             storageTextView.setVisibility(GONE);
 | |
|         }
 | |
| 
 | |
|         if (resId != 0) {
 | |
|             if (thumb != null) {
 | |
| //                imageView.setImage(thumb, "40_40", null);
 | |
|             } else  {
 | |
|                 imageView.setImageResource(resId);
 | |
|             }
 | |
|             imageView.setVisibility(VISIBLE);
 | |
|         } else {
 | |
|             imageView.setVisibility(GONE);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public CheckBox getCheckBox(){
 | |
|         return checkBox;
 | |
|     }
 | |
| 
 | |
|     public void setChecked(boolean checked) {
 | |
| //        if (checkBox.getVisibility() != VISIBLE) {
 | |
| //            checkBox.setVisibility(VISIBLE);
 | |
| //        }
 | |
|         checkBox.setChecked(checked);
 | |
|     }
 | |
| }
 |