class,layout,include,类型转化
class封装初始化ui的代码
layout用于调整ui的布局
include用于在布局文件中引入控件
类型转化在代码调用class的方法进行初始化
demo
class:
package test.example.com.myapplicationui1;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.RelativeLayout;
import android.widget.TextView;
/**
* Created by cgx on 2017/3/14.
*/
public class MyText extends RelativeLayout {
public MyText(Context context) {
super(context);
}
public MyText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public void setUp(String text) {
TextView mytext = (TextView) findViewById(R.id.view_my_text);
mytext.setText(text);
}
}
layout:
<?xml version="1.0" encoding="utf-8"?>
<test.example.com.myapplicationui1.MyText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/view_my_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="test"
android:textColor="#ff0000"
android:textSize="25sp"
/>
</test.example.com.myapplicationui1.MyText>
引用:
include:
<include
android:id="@+id/mytext"
layout="@layout/layout_mytext"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
代码调用
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyText text = (MyText) findViewById(R.id.mytext);
text.setUp("通过自定义方法初始化");
}
}