Skip to content

view property

뮤네 edited this page Apr 5, 2019 · 7 revisions

Ch.prop[목차]

Event

Image

Layout

Text

View


Event

Ch.prop.event.click()

Ch.prop.event.click(view: View, v:OnClickListener)
  • View에 클릭 리스너 처리
Ch.prop.event.click(view, View.OnClickListener { ... })

Ch.prop.event.longClick()

Ch.prop.event.longClick(view: View, v:OnLongClickListener)
  • View에 롱 클릭 리스너 처리
Ch.prop.event.longClick(view, View.OnLongClickListener{ ... })

Ch.prop.event.clickable()

Ch.prop.event.clickable(view: View, v:Boolean)
  • View에 clickable 처리
Ch.prop.event.clickable(view, true)

Ch.prop.event.longClickable()

Ch.prop.event.longClickable(view: View, v:Boolean)
  • View에 LongClickable 처리
Ch.prop.event.longClickable(view, true)

Ch.prop.event.focusChange()

Ch.prop.event.focusChange(view: EditText, v:OnFocusChangeListener)
  • View에 OnFocusChangeListener 처리
Ch.prop.event.focusChange(view, View.OnFocusChangeListener{ ... })

Ch.prop.event.focusable()

Ch.prop.event.focusable(view: View, v:Boolean)
Ch.prop.event.focusable(view: View, v:Number)
Ch.prop.event.focusable(view: View, v:Any)
  • View에 focusable 처리
  • VERSION : Build.VERSION_CODES.O 이상
Ch.prop.event.focusable(view, true)

Ch.prop.event.focusableInTouchMode()

Ch.prop.event.focusableInTouchMode(view: View, v:Boolean)
  • View에 FocusableInTouchMode 처리
  • VERSION : Build.VERSION_CODES.O 이상
Ch.prop.event.focusableInTouchMode(view, true)

Ch.prop.event.focus()

Ch.prop.event.focus(view: View, v:Boolean)
  • View에 focus 처리
Ch.prop.event.focus(view, true)

Ch.prop.event.textChanged()

Ch.prop.event.textChanged(view: EditText, v:Ch.OnTextChanged)
  • View에 TextChangedListener 처리
val textChanged = object: Ch.OnTextChanged(){
    override fun onChanged(view: EditText, s:CharSequence, start:Int, before:Int, count:Int){
        val v = "$s"
        ...
    }
}
Ch.prop.event.textChanged(view, textChanged)

Ch.prop.event.editorAction()

Ch.prop.event.editorAction(view: EditText, v:TextView.OnEditorActionListener)
  • View에 OnEditorActionListener처리
val editorAction = TextView.OnEditorActionListener{
     v, id, event ->  if(event?.action == KeyEvent.ACTION_DOWN) find<AppCompatEditText>(R.id.rank).requestFocus()
    false
}

<androidx.appcompat.widget.AppCompatEditText
  android:layout_width="269dp" android:layout_height="wrap_content" android:paddingLeft="12dp"
  android:fontFamily="@font/opensansbold" app:fontFamily="@font/opensansbold" android:textStyle="bold" android:includeFontPadding="false"
  android:textSize="25sp" android:textColor="@color/black" android:id="@+id/name" android:inputType="text" android:maxLines="1" 
android:tag="editorAction:@{StaffAddInfoVM.editorAction}"/>

Ch.prop.event.down()

Ch.prop.event.down(view: View, v:Ch.Touch)
  • View에 down 처리
val down = object:Ch.Touch{
    override fun onTouch(e:MotionEvent):Boolean{
        ... 
        return true
    }
}
Ch.prop.event.down(view, down)

Ch.prop.event.up()

Ch.prop.event.up(view: View, v:Ch.Touch)
  • View에 up처리
val up = object:Ch.Touch{
    override fun onTouch(e:MotionEvent):Boolean{
        ... 
        return true
    }
}
Ch.prop.event.down(view, up)

Ch.prop.event.move()

Ch.prop.event.move(view: View, v:Ch.Touch)
  • View에 move처리
val move = object:Ch.Touch{
    override fun onTouch(e:MotionEvent):Boolean{
        ... 
        return true
    }
}
Ch.prop.event.move(view, move)

Image

Ch.prop.image.image()

Ch.prop.image.image(view: View, v:Int) // ResourceID
Ch.prop.image.image(view: View, v:String) // Drawable name
Ch.prop.image.image(view: View, v:Drawable) // Drawable
Ch.prop.image.image(view: View, v:Bitmap) // Bitmap
  • ImageView에 image 설정
Ch.prop.image.image(imageView, ResourceID)

Layout

Ch.prop.layout.width()

Ch.prop.layout.width(view: View, v:Number)
  • view에 width(px) 설정
Ch.prop.layout.width(v, 14.0.DptoPx)

Ch.prop.layout.height()

Ch.prop.layout.height(view: View, v:Number)
  • view에 height(px) 설정
Ch.prop.layout.height(v, 14.0.DptoPx)

Ch.prop.layout.margin()

Ch.prop.layout.margin(view: View, v:String)
Ch.prop.layout.margin(view: View, v:List<Int>)
  • view에 margin(px) 설정
Ch.prop.layout.margin(v, "14 20 14 30") //left, top, right, bottom
Ch.prop.layout.margin(v, listOf(14, 20, 14 30)) //left, top, right, bottom

Ch.prop.layout.marginStart()

Ch.prop.layout.marginStart(view: View, v:Number)
  • view에 marginStart(marginLeft)(px) 설정
Ch.prop.layout.marginStart(v, 14) 

Ch.prop.layout.marginEnd()

Ch.prop.layout.marginEnd(view: View, v:Number)
  • view에 marginEnd(marginRight)(px) 설정
Ch.prop.layout.marginEnd(v, 14) 

Ch.prop.layout.marginTop()

Ch.prop.layout.marginTop(view: View, v:Number)
  • view에 marginTop(px) 설정
Ch.prop.layout.marginTop(v, 14) 

Ch.prop.layout.marginBottom()

Ch.prop.layout.marginBottom(view: View, v:Number)
  • view에 marginBottom(px) 설정
Ch.prop.layout.marginBottom(v, 14) 

Ch.prop.text.text()

Ch.prop.text.text(view: TextView, v:String)
  • Textview에 text 설정
Ch.prop.text.text(v, "str") 

Ch.prop.text.fromHtml()

Ch.prop.text.fromHtml(view: TextView, v:String)
  • Textview에 html 텍스트 설정
Ch.prop.text.fromHtml(v, "str") 

Ch.prop.text.textSize()

Ch.prop.text.textSize(view: TextView, v: Number)
  • Textview에 textSize(px) 설정
Ch.prop.text.textSize(v, 20) 

Ch.prop.text.textScaleX()

Ch.prop.text.textScaleX(view: TextView, v: Number)
  • Textview에 textScaleX(%) 설정
Ch.prop.text.textScaleX(v, 1.2) 

Ch.prop.text.lineSpacing()

Ch.prop.text.lineSpacing(view: TextView, v: Number)
  • Textview에 lineSpacing(+) 설정
Ch.prop.text.lineSpacing(v, 2) //+2

Ch.prop.text.textColor()

Ch.prop.text.textColor(view: TextView, v: colorString)

/* #RRGGBB, #AARRGGBB, 
red, blue, green, black, white, gray, cyan, magenta, yellow, lightgray, 
darkgray, grey, lightgrey, darkgrey, aqua, fuchsia, 
lime, maroon, navy, olive, purple, silver, and teal. */
  • Textview에 textColor(colorString) 설정
Ch.prop.text.textColor(v, 'red')
Ch.prop.text.textColor(v, '#RRGGBB') 

Ch.prop.text.textAlignment()

Ch.prop.text.textAlignment(view: TextView, v: int)
/* View.TEXT_ALIGNMENT_INHERIT, 
View.TEXT_ALIGNMENT_GRAVITY, View.TEXT_ALIGNMENT_CENTER,  
View.TEXT_ALIGNMENT_TEXT_START, View.TEXT_ALIGNMENT_TEXT_END, 
View.TEXT_ALIGNMENT_VIEW_START, View.TEXT_ALIGNMENT_VIEW_END. */

Ch.prop.text.textAlignment(view: TextView, v: String)
/* "center", "gravity", "inherit", "textend", 
"viewstart", "viewend", "viewstart" */
  • Textview에 textAlignment 설정
Ch.prop.text.textAlignment(v, View.TEXT_ALIGNMENT_CENTER) 
Ch.prop.text.textAlignment(v, "viewstart") 

Ch.prop.text.hint()

Ch.prop.text.hint(view: TextView, v: String)
  • Textview에 hint설정
Ch.prop.text.hint(v, "hint") 

Ch.prop.text.hintColor()

Ch.prop.text.hint(view: TextView, v: String)
  • Textview에 hintColor설정
Ch.prop.text.hint(v, "#ff0000") 

Ch.prop.text.maxLines()

Ch.prop.text.maxLines(view: TextView, v: Number)
  • Textview에 maxLines설정
Ch.prop.text.maxLines(v, 2) 

Ch.prop.text.maxLength()

Ch.prop.text.maxLength(view: TextView, v: Number)
  • Textview에 maxLength(InputFilter) 설정
Ch.prop.text.maxLength(v, 100) 

Ch.prop.text.allCaps()

Ch.prop.text.allCaps(view: TextView, v: Boolean)
  • Textview에 allCaps(모두 대문자로) 설정
Ch.prop.text.allCaps(v, true) 

Ch.prop.text.fontFamily()

Ch.prop.text.font()

Ch.prop.text.fontFamily(view: TextView, resID: Number)
Ch.prop.text.font(view: TextView, resID: Number)

Ch.prop.text.fontFamily(view: TextView, v: String)
Ch.prop.text.font(view: TextView, v: String)
//XML file saved at res/font/lobster.xml:
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
    <font
        android:fontStyle="normal"
        android:fontWeight="400"
        android:font="@font/lobster_regular" />
    <font
        android:fontStyle="italic"
        android:fontWeight="400"
        android:font="@font/lobster_italic" />
</font-family>
Ch.prop.text.fontFamily(v, "lobster") 

Ch.prop.text.inputType()

Ch.prop.text.inputType(view: TextView, inputType: Int)
/* InputType.TYPE_CLASS_DATETIME, InputType.TYPE_CLASS_NUMBER, 
InputType.TYPE_CLASS_PHONE, InputType.TYPE_CLASS_TEXT, 
InputType.TYPE_DATETIME_VARIATION_DATE, InputType.TYPE_DATETIME_VARIATION_NORMAL, 
InputType.TYPE_DATETIME_VARIATION_TIME,
InputType.TYPE_MASK_CLASS, InputType.TYPE_MASK_FLAGS, InputType.TYPE_MASK_VARIATION,
InputType.TYPE_NULL, InputType.TYPE_NUMBER_FLAG_DECIMAL, InputType.TYPE_NUMBER_FLAG_SIGNED, 
InputType.TYPE_NUMBER_VARIATION_NORMAL, InputType.TYPE_NUMBER_VARIATION_PASSWORD,
InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE, InputType.TYPE_TEXT_FLAG_AUTO_CORRECT, 
InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS, InputType.TYPE_TEXT_FLAG_CAP_SENTENCES, 
InputType.TYPE_TEXT_FLAG_CAP_WORDS, InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE, 
InputType.TYPE_TEXT_FLAG_MULTI_LINE, InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS,
InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS, InputType.YPE_TEXT_VARIATION_EMAIL_SUBJECT,
InputType.TYPE_TEXT_VARIATION_FILTER, InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE, 
InputType.TYPE_TEXT_VARIATION_NORMAL, InputType.TYPE_TEXT_VARIATION_PASSWORD,
InputType.TYPE_TEXT_VARIATION_PERSON_NAME, InputType.TYPE_TEXT_VARIATION_PHONETIC, 
InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS, InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE, 
InputType.TYPE_TEXT_VARIATION_URI, InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD, 
InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT, InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS, 
InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD */

Ch.prop.text.inputType(view: TextView, v: String)
/* "date", "datetime", "none", "number", "numberdecimal", "numberpassword",
"numbersigned", "phone", "text", "textautocomplete", "textautocorrect", 
"textcapcharacters", "textcapsentences", "textcapwords", "textemailaddress", 
"textemailsubject", "textfilter", "textimemultiline", "textlongmessage", 
"textmultiline", "textnosuggestions", "textpassword", "textpersonname",
"textphonetic", "textpostaladdress", "textshortmessage", "texturi", 
"textvisiblepassword", "textwebedittext", "textwebemailaddress", 
"textwebpassword", "time" */
Ch.prop.text.inputType(v, "number") 
Ch.prop.text.inputType(v, InputType.TYPE_CLASS_PHONE)

View

Ch.prop.view.tag()

Ch.prop.view.tag(view: View, v:String)
  • View에 tag 설정
Ch.prop.view.tag(view, "tag")

Ch.prop.view.isEnabled()

Ch.prop.view.isEnabled(view: View, v:Boolean)
  • View에 isEnabled설정
Ch.prop.view.isEnabled(view, false)

Ch.prop.view.visibility()

Ch.prop.view.visibility(view: View, v:Boolean)
// true -> View.VISIBLE, false -> View.GONE

Ch.prop.view.visibility(view: View, v:visibilityInt)
// View.VISIBLE, View.INVISIBLE, View.GONE
  • View에 visibility설정
Ch.prop.view.visibility(view, false)
Ch.prop.view.visibility(view, View.GONE)

Ch.prop.view.background()

Ch.prop.view.background(view: View, resID:Int)
Ch.prop.view.background(view: View, v:Drawable)
Ch.prop.view.background(view: View, v:Bitmap)
Ch.prop.view.background(view: View, v:String)
// "#RRGGBB", "#AARRGGBB"
// 리소스 이름(문자열)
  • View에 background설정
Ch.prop.view.background(view, "background") //리소스 이름(문자열)
Ch.prop.view.background(view, R.drawable.background)
Ch.prop.view.background(view, "#00ff00")

Ch.prop.view.shadow()

Ch.prop.view.shadow(view: View, v: Number)
  • View에 shadow(elevation) 설정(px)
  • VERSION : Build.VERSION_CODES.LOLLIPOP 이상
Ch.prop.view.shadow(view, 14) 

Ch.prop.view.x()

Ch.prop.view.x(view: View, v: Number)
  • View에 x(translationX) 설정(px)
Ch.prop.view.x(view, 14) 

Ch.prop.view.y()

Ch.prop.view.y(view: View, v: Number)
  • View에 y(translationY) 설정(px)
Ch.prop.view.y(view, 14) 

Ch.prop.view.z()

Ch.prop.view.z(view: View, v: Number)
  • View에 z(translationZ) 설정(px)
  • VERSION : Build.VERSION_CODES.LOLLIPOP 이상
Ch.prop.view.z(view, 14) 

Ch.prop.view.scaleX()

Ch.prop.view.scaleX(view: View, v: Number)
  • View에 scaleX 설정(배율)
Ch.prop.view.scaleX(view, 1.2) 

Ch.prop.view.scaleY()

Ch.prop.view.scaleY(view: View, v: Number)
  • View에 scaleY 설정(배율)
Ch.prop.view.scaleY(view, 1.2) 

Ch.prop.view.rotation()

Ch.prop.view.rotation(view: View, v: Number)
  • View에 rotation설정(degrees)
Ch.prop.view.rotation(view, 30.5) 
Ch.prop.view.rotation(view, 180) 

Ch.prop.view.alpha()

Ch.prop.view.alpha(view: View, v: Number)
  • View에 alpha설정(0~1)
Ch.prop.view.alpha(view, 0.5) 

Ch.prop.view.paddingStart()

Ch.prop.view.paddingStart(view: View, v: Number)
  • View에 paddingStart설정(left, px)
Ch.prop.view.paddingStart(view, 14) 

Ch.prop.view.paddingEnd()

Ch.prop.view.paddingEnd(view: View, v: Number)
  • View에 paddingEnd설정(right, px)
Ch.prop.view.paddingEnd(view, 14) 

Ch.prop.view.paddingTop()

Ch.prop.view.paddingTop(view: View, v: Number)
  • View에 paddingTop설정(top, px)
Ch.prop.view.paddingTop(view, 14) 

Ch.prop.view.paddingBottom()

Ch.prop.view.paddingBottom(view: View, v: Number)
  • View에 paddingBottom설정(bottom, px)
Ch.prop.view.paddingBottom(view, 14) 

Ch.prop.view.padding()

Ch.prop.view.padding(view: View, v: String)
  • View에 padding설정(px)
Ch.prop.view.padding(v, "14 20 14 30") //left, top, right, bottom
Clone this wiki locally