Android 제어 보기
이 대상 을 test 1. xml 파일 의 < LinearLayout > 탭 의 하위 노드 로 test 1. xml LinearLayout 대상 에 추가 합 니 다.
// test1.xml LinearLayout
LinearLayout testLinearLayout1 = (LinearLayout)getLayoutInflater().inflate(R.layout.test1, null);
// test1.xml LinearLayout
setContentView(testLinearLayout1);
// test2.xml LinearLayout , test1.xml LinearLayout
LinearLayout testLinearLayout2 = (LinearLayout)getLayoutInflater().inflate(R.layout.test2, testLinearLayout1);
레이아웃 보기 에 보기 대상 을 추가 할 때 다음 두 가 지 를 주의해 야 합 니 다.
setContentView 방법 을 사용 하여 용기 보 기 를 현재 보기 로 설정 한 후 용기 보기 에 새로운 보 기 를 추가 하거나 다른 작업 을 하려 면 setContentView 방법의 매개 변수 값 은 용기 보기 대상 을 직접 사용 해 야 합 니 다. 이 는 용기 보기 대상 에 새로운 보 기 를 추가 할 수 있 기 때 문 입 니 다.
하나의 보 기 는 하나의 부모 보기 만 있 을 수 있 습 니 다. 즉, 하나의 보 기 는 하나의 용기 보기 에 만 포 함 될 수 있 습 니 다.따라서 용기 보기에 다른 보 기 를 추가 할 때 XML 레이아웃 파일 에 루트 노드 가 아 닌 보기 대상 을 다른 용기 보기에 추가 할 수 없습니다.예 를 들 어 앞의 예 에서 testLinearLayout 2. findViewById (R. id. testView 2) 를 사용 하여 얻 은 TextView 대상 을 testLinearLayout 1 대상 에 추가 할 수 없습니다. 이것 은 이 TextView 대상 이 test2. xml 의 < LinearLayout > 태그 에 속 하기 때문에 test1. xml 의 < LinearLayout > 태그 에 속 할 수 없습니다.
다음은 실례 입 니 다.
main. xml 파일
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/textview1"/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button1"/>
</LinearLayout>
test. xml 파일
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/textview2"
/>
</LinearLayout>
Main. java 파일
package com.mmc.viewobject;
import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
public class Main extends Activity implements OnClickListener
{
private TextView textView1;
private Button button1;
@Override
public void onClick(View v){
int value = textView1.getGravity() & 0x07;
if (value == Gravity.LEFT)
textView1.setGravity(Gravity.CENTER_HORIZONTAL);
else if (value == Gravity.CENTER_HORIZONTAL)
textView1.setGravity(Gravity.RIGHT);
else if (value == Gravity.RIGHT)
textView1.setGravity(Gravity.LEFT);
}
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
// main.xml LinearLayout
LinearLayout mainLinearLayout = (LinearLayout)getLayoutInflater().inflate(R.layout.main, null);
//
setContentView(mainLinearLayout);
textView1 = (TextView)findViewById(R.id.textview1);
button1 = (Button)findViewById(R.id.button1);
textView1.setText(" TextView");
//
button1.setOnClickListener(this);
// test.xml LinearLayout
LinearLayout testLinearLayout = (LinearLayout)getLayoutInflater().inflate(R.layout.test, mainLinearLayout);
// , inflate 2 null
//mainLinearLayout.addView(testLinearLayout);
//
EditText editText = new EditText(this);
editText.setSingleLine(false);
editText.setGravity(Gravity.LEFT);
mainLinearLayout.addView(editText, new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT));
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.