Установите маркер времени выполнения для любого вида с помощью Kotlin

Я большой человек в Kotlin.I не слишком много familier с этим языком. Я делаю один пример и играю с code.I Просто хочу установить маркер времени выполнения для любого view.I также пытается Google, но не получить какое-либо правильное решение для эта задача. Для получения дополнительной информации о кодах Пожалуйста, прочтите ниже.

требование

Установите маркер времени выполнения для любого вида.

Описание

У меня есть один xml-файл, который содержится в Button, и я хочу установить маркер времени выполнения этой кнопки.

Код

Я также пробую ниже, но это не работает.

class MainActivity : AppCompatActivity() { //private lateinit var btnClickMe: Button //var btnClickMe=Button(); override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //For setting runtime text to any view. btnClickMe.text = "Chirag" //For getting runtime text to any view var str: String = btnClickMe.text as String; //For setting runtimer drawable btnClickMe.background=ContextCompat.getDrawable(this,R.drawable.abc_ab_share_pack_mtrl_alpha)//this.getDrawable(R.drawable.abc_ab_share_pack_mtrl_alpha) /* //For Setting Runtime Margine to any view. var param:GridLayout.LayoutParams param.setMargins(10,10,10,10); btnClickMe.left=10; btnClickMe.right=10; btnClickMe.top=10; btnClickMe.bottom=10; */ // Set OnClick Listener. btnClickMe.setOnClickListener { Toast.makeText(this,str,5000).show(); } } 

}

activity_main.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:orientation="vertical" tools:context="chirag.iblazing.com.stackoverflowapp.MainActivity" android:layout_height="match_parent"> <Button android:id="@+id/btnClickMe" android:text="Click Me" android:layout_width="match_parent" android:layout_height="wrap_content" /> 

Я надеюсь, что вы все поняли мою проблему. Пожалуйста, помогите мне, если у кого-нибудь есть решение этой проблемы. Сообщите мне, хотите ли вы получить больше информации о моей проблеме.

Заранее спасибо.

Вам нужно получить объект layoutParams из кнопки и LinearLayout.LayoutParams его LinearLayout.LayoutParams поскольку родительский элемент btnClickMe – LinearLayout и задает поля для всех, что вы хотите.

Проверьте следующий код:

 val param = btnClickMe.layoutParams as LinearLayout.LayoutParams param.setMargins(10,10,10,10); btnClickMe.layoutParams = param // Tested!! - You need this line for the params to be applied. 

Надеюсь, поможет.