<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="이미지 변경" />
<com.example.layout.Layout1
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</com.example.layout.Layout1>
</LinearLayout>
* Layout1.java
public class Layout1 extends LinearLayout {
ImageView imageView;
TextView textView;
TextView textView2;
public Layout1(Context context) {
super(context);
init(context);
}
public Layout1(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init(context);
}
public void init(Context context) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.layout1, this, true);
imageView = findViewById(R.id.imageView);
textView = findViewById(R.id.textView);
textView2 = findViewById(R.id.textView2);
}
public void setImage(int resId) {
imageView.setImageResource(resId);
}
public void setName(String name) {
textView.setText(name);
}
public void setMobile(String mobile) {
textView2.setText(mobile);
}
}
* Layout1.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!-- CardView는 Palette에서 라이브러리 다운로드 -->
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="#FFFFFF"
app:cardCornerRadius="10dp"
app:cardElevation="5dp"
app:cardUseCompatPadding="true">
<ImageView
android:id="@+id/imageView"
android:layout_width="80dp"
android:layout_height="80dp"
app:srcCompat="@mipmap/ic_launcher" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="8dp"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:textSize="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="이름" />
<TextView
android:id="@+id/textView2"
android:textSize="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="전화번호" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
* MainActivity.java
public class MainActivity extends AppCompatActivity {
Layout1 layout1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layout1 = findViewById(R.id.layout1);
layout1.setImage(R.drawable.ic_launcher_background);
layout1.setName("홍길동");
layout1.setMobile("010-1000-1000");
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
layout1.setImage(R.drawable.ic_launcher_foreground);
}
});
}
}
* activity_main.xml
'android' 카테고리의 다른 글
Spinner 사용법 (0) | 2020.02.03 |
---|---|
RecyclerView 리스트(문자목록, 통화목록 ..) (0) | 2020.02.03 |
버튼 사용자정의 사용 (0) | 2020.02.03 |
NicePatch(png 이미지 확대시) (0) | 2020.02.03 |
권한 요청 (0) | 2020.02.03 |