안녕하세요, 나는 상대적 레이아웃이며 9 개의 이미지 버튼을 포함하고있는 m 파일을 가지고 있습니다. 그래서 이름과 ID를 변경하여 레이아웃을 여러 번 재사용하고 싶습니다. gridview로 할 수 있지만 내 문제는 상대 레이아웃을 사용하는 동일한 세관 디자인을 사용하고 싶습니다. 그래서 어떻게 할 수 있습니다.안드로이드에서 내 xml 상대 레이아웃을 다시 사용하는 방법
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageButton
android:id="@+id/day0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignTop="@+id/day1"
android:layout_marginLeft="14dp"
android:scaleType="fitXY"
android:src="@drawable/day0" />
<ImageButton
android:id="@+id/day3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/day0"
android:layout_below="@+id/day0"
android:layout_marginTop="54dp"
android:src="@drawable/day3" />
<ImageButton
android:id="@+id/day6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/day3"
android:layout_below="@+id/day3"
android:layout_marginTop="74dp"
android:src="@drawable/day6" />
<ImageButton
android:id="@+id/day4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/day6"
android:layout_marginLeft="25dp"
android:layout_toRightOf="@+id/day3"
android:src="@drawable/day4" />
<ImageButton
android:id="@+id/day7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/day4"
android:layout_alignTop="@+id/day6"
android:src="@drawable/day7" />
<ImageButton
android:id="@+id/day1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/day4"
android:layout_alignParentTop="true"
android:layout_marginTop="39dp"
android:scaleType="fitXY"
android:src="@drawable/day1" />
<ImageButton
android:id="@+id/day8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/day5"
android:layout_alignTop="@+id/day7"
android:src="@drawable/day8" />
<ImageButton
android:id="@+id/day2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/day1"
android:layout_marginLeft="28dp"
android:layout_toRightOf="@+id/day1"
android:scaleType="fitXY"
android:src="@drawable/day2" />
<ImageButton
android:id="@+id/day5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/day6"
android:layout_alignLeft="@+id/day2"
android:src="@drawable/day5" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView4"
android:layout_alignBottom="@+id/textView4"
android:layout_alignLeft="@+id/day7"
android:text="Emotions"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/textView7"
android:layout_alignLeft="@+id/Ans6b"
android:text="Leadership"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/Ans6b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/question6a"
android:layout_alignBottom="@+id/question6a"
android:layout_alignRight="@+id/day1"
android:text="gruppstart"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/day3"
android:layout_toLeftOf="@+id/day4"
android:text="Adaption"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/day6"
android:layout_toLeftOf="@+id/day4"
android:text="Behavior"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_below="@+id/day8"
android:text="Satisfaction"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/day5"
android:layout_below="@+id/day5"
android:text="Insight"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/day2"
android:layout_below="@+id/day2"
android:text="relationer"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/question6a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView7"
android:layout_below="@+id/day0"
android:layout_marginLeft="15dp"
android:text="Goal"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/textView3"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
이것은 내 xml 파일입니다. 다른 활동에 대해이 XML 파일을 호출하고 싶지만 이름 ID 및 일부 디스플레이 이미지 버튼 만 변경하면됩니다. 수행하는 방법에 그 중 하나가 나를
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import com.xylem.flygt.R;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TableLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ViewFlipper;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
public class MenuActivity extends Activity
{
static GridView gridView;
Bitmap bmp = null;
public ArrayList<Bitmap> bitmapArray = new ArrayList<Bitmap>();
Context context;
ImageButton day0, day1, day2, day3, day4, day5, day6, day7, day8;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.grid_layout);
day0 = (ImageButton) findViewById(R.id.day0);
day1 = (ImageButton) findViewById(R.id.day1);
day2 = (ImageButton) findViewById(R.id.day2);
day3 = (ImageButton) findViewById(R.id.day3);
day4 = (ImageButton) findViewById(R.id.day4);
day5 = (ImageButton) findViewById(R.id.day5);
day6 = (ImageButton) findViewById(R.id.day6);
day7 = (ImageButton) findViewById(R.id.day7);
day8 = (ImageButton) findViewById(R.id.day8);
gridView = (GridView) findViewById(R.id.grid_view);
gridView.setBackgroundColor(Color.parseColor("#E3E4FA"));
gridView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
System.out.println("Clicked id " + position);
if(position == 0)
{
System.out.println(" Day 0 ");
}
if(position == 1) {
Intent i = new Intent(getApplicationContext(), nextActivity.class);
i.putExtra("dayno", "1");
System.out.println(" Day 1 ");
startActivity(i);
}
if(position == 2)
{
Intent i = new Intent(getApplicationContext(), nextActivity.class);
i.putExtra("dayno", "2");
System.out.println(" Day 2 ");
startActivity(i);
}
if(position == 3)
{ Intent i = new Intent(getApplicationContext(), nextActivity.class);
i.putExtra("dayno", "3");
System.out.println(" Day 3 ");
startActivity(i);
}
if(position == 4)
{
Intent i = new Intent(getApplicationContext(), nextActivity.class);
i.putExtra("dayno", "4");
System.out.println(" Day 4 ");
startActivity(i);
}
if(position == 5)
{
Intent i = new Intent(getApplicationContext(), nextActivity.class);
i.putExtra("dayno", "5");
System.out.println(" Day 5 ");
startActivity(i);
}
if(position == 6)
{
Intent i = new Intent(getApplicationContext(), nextActivity.class);
i.putExtra("dayno", "6");
System.out.println(" Day 6");
startActivity(i);
}
if(position == 7)
{
Intent i = new Intent(getApplicationContext(), nextActivity.class);
i.putExtra("dayno", "7");
System.out.println(" Day 7 ");
startActivity(i);
}
if(position == 8)
{
Intent i = new Intent(getApplicationContext(), nextActivity.class);
i.putExtra("dayno", "8");
System.out.println(" Day 8 ");
startActivity(i);
}
}
});
new Checkday().execute();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
class Checkday extends AsyncTask<String, String, String>
{
protected void onPreExecute()
{
super.onPreExecute();
}
@Override
protected String doInBackground(String... arg0)
{
return null;
}
protected void onPostExecute(String file_url)
{
gridView.setAdapter(new CalenderAdaptor(MenuActivity.this));
}
}
}
내 활동 자바 그 자체가있는 gridview에 이미지 버튼을 만듭니다 작성한 제안하십시오 수 있습니다. 하지만 이런 식으로 레이아웃을 ID 만 변경하고 일부 이미지는 바뀌기 때문에 다른 액티비티에서 내 세관 레이아웃을 호출하는 방식으로 사용하고 싶습니다.
코드와 오류가 표시됩니다. – LuckyMe
왜 ID를 변경 하시겠습니까? 무엇을 정확히 달성하기를 원합니 까? 너 뭐 해봤 니? 몇 가지 코드를 보여주십시오. 우리는 당신을위한 코드를 작성하지 않습니다! – Leandros
여러 활동에 동일한 레이아웃 유형을 사용하기 때문에 변경 ID가 필요합니다. 그래서 그것을 변경하는 것이지만 내 문제는 내가 원하는대로 그것을 재사용 할 수없는 설계된 레이아웃이다. – user2614247