android:id="@+id/btn_maininterface"
里面的android:layout_height="match_parent"造成的另:android:id="@+id/btn_bid" 里面的android:layout_below="@id/btn_maininterface"没有报错么?
“@id/btn_maininterface is not a sibling in the same RelativeLayout”

解决方案 »

  1.   


    @  bloom_0721   谢谢您的回答改了后可以显示出 4个图片了。  是没有报 这个错误的““@id/btn_maininterface is not a sibling in the same RelativeLayout”[/quote”但是 下面的三个小图标太小了,我设置了 高 跟 宽的 大小后, 就不能显示出来了。
    然后  我把下面的三个小图 的 其中两个图片设置了 高和宽的大小,另外一个小图 高 和宽设置为 wrap_content
    结果  设置具体大小 的小图是不能显示出来的。  也就是 设置为  wrap_content的是可以显示的。请问为什么呢?    因为那三个小图太小了, 要设置大些, 请问应该怎么处理呢?
    <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical" >
         
         <ImageView 
         android:id="@+id/btn_maininterface"
         android:src="@drawable/btn_maininterface"
         android:layout_width="fill_parent"
         android:layout_height="260dp"
         android:scaleType="fitStart"
         /> 
         
         <RelativeLayout android:id="@+id/RelativeLayout02"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"> 
          <ImageView 
     android:id="@+id/btn_bid"
     android:paddingLeft="40.0sp"
     android:src="@drawable/btn_bid"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_marginTop="50.0dip"
     android:layout_weight="1"
     android:layout_below="@id/btn_maininterface"
    />

     <ImageView 
     android:id="@+id/btn_der"
     android:src="@drawable/btn_der"
     android:layout_width="60dp"
     android:paddingLeft="80.0sp"
     android:layout_height="60dp"
     android:layout_toRightOf="@id/btn_bid"
     android:layout_alignTop="@id/btn_bid"
     android:layout_weight="1"
    /> 

     <ImageView 
     android:id="@+id/btn_info"
     android:paddingLeft="95.0sp"
     android:src="@drawable/btn_info"
     android:layout_width="60dp"
     android:layout_height="60dp"
     android:layout_toRightOf="@id/btn_der"
     android:layout_alignTop="@id/btn_der"
     android:layout_weight="1"
    /> 
      
    </RelativeLayout>
     </LinearLayout>
      

  2.   

    楼主的要求是什么,如果想纵向按比例的话可以用
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"//这个是相对于整个高占有几分(例如4个图片都设置为1,则都占屏幕高的1/4)
    如果想都正常像是就wrap_content。
    如果显示不下,可以用ScrollView。
      

  3.   

    @ lxfhjjsfq    谢谢回复
    但是按照您所说的  用
          android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_weight="1
    还是不能显示  那三个小图呀麻烦再回复下不能用scrollview  要全部显示出来。就是大图片占1/3,  剩下的 按一定的间隔显示 9个小图。只是现在先想弄好三张图
    其实小图片一共有9个的也就是如下         大图
    小图   小图    小图
    小图    小图   小图
    小图    小图    小图现在先想弄好那上面三个小图。也就是改成如下,还是没有显示出三个小图的<?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical" >
         
         <ImageView 
         android:id="@+id/btn_maininterface"
         android:src="@drawable/btn_maininterface"
         android:layout_width="fill_parent"
         android:layout_height="0dp"
         android:layout_weight="1"

         android:scaleType="fitStart"
         
         /> 
         
         <RelativeLayout android:id="@+id/RelativeLayout02"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"> 
          <ImageView 
     android:id="@+id/btn_bid"
     android:paddingLeft="40.0sp"
     android:src="@drawable/btn_bid"
     android:layout_width="wrap_content"
     android:layout_height="0dp"

     android:layout_marginTop="50.0dip"
     android:layout_weight="1"
     android:layout_below="@id/btn_maininterface"
    />

     <ImageView 
     android:id="@+id/btn_der"
     android:src="@drawable/btn_tender"
     android:layout_width="wrap_content"
     android:paddingLeft="80.0sp"
     android:layout_height="0dp"
     android:layout_toRightOf="@id/btn_bid"
     android:layout_alignTop="@id/btn_bid"
     android:layout_weight="1"
    /> 

     <ImageView 
     android:id="@+id/btn_info"
     android:paddingLeft="95.0sp"
     android:src="@drawable/btn_info"
     android:layout_width="wrap_content"
     android:layout_height="0dp"
     android:layout_toRightOf="@id/btn_der"
     android:layout_alignTop="@id/btn_der"
     android:layout_weight="1"
    /> 
      
    </RelativeLayout>
     </LinearLayout>
      

  4.   

    给ImageView控件设置 android:scaleType="fitCenter"属性就好了
      

  5.   

    下边三张小图用LinearLayout 布局,设置水平排列,不用RelativeLayout 啊
      

  6.   

    import java.util.ArrayList;import android.app.Activity;
    import android.content.Context;
    import android.os.Bundle;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.GridView;
    import android.widget.ImageView;public class GridItemClickActivity extends Activity{
    private GridView grid; @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_grid);
    grid = (GridView) findViewById(R.id.grid);
    ImageAdapter adapter = new ImageAdapter(this);
    for(int i = 0; i < 9; i ++){
    adapter.addItem(R.drawable.ic_launcher);
    }
    grid.setAdapter(adapter);

    }
    class ImageAdapter extends BaseAdapter{
    private ArrayList<Integer> list = new ArrayList<Integer>();
    private Context mContext;

    public ImageAdapter(Context context){
    mContext = context;
    }

    public void addItem(int rid){
    list.add(rid);
    }

    public int getCount() {
    return list.size();
    } public Object getItem(int position) {
    return list.get(position);
    } public long getItemId(int position) {
    return position;
    } public View getView(int position, View convertView, ViewGroup parent) {
    ImageView view = new ImageView(mContext);
    int rid = list.get(position);
    view.setImageResource(rid);
    return view;
    }

    }
    }xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
        <ImageView 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/right"/>    <GridView
            android:id="@+id/grid"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:numColumns="3"
            android:gravity="center">
        </GridView>   </LinearLayout>
      

  7.   

    adapter你自己优化下,gridview你自己查查也可以细化
      

  8.   

    @   lxfhjjsfq    谢谢 您的回复按照您的回复,显示出来的 9个小图 是大小不同的,请问怎么处理让现实的小图都是一样大呢?在 oncreate (){

        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_maininterfacegrid);
            WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
            mScreenWidth = wm.getDefaultDisplay().getWidth();
            mScteenHeight =wm.getDefaultDisplay().getHeight();   //获取屏幕大小
          。
    }然后在:添加 fillView 函数 设定  gridview 的 item的大小,但是没有效果
     class ImageAdapter extends BaseAdapter{      public View fillView(View arg0, Object arg1, String arg2, int arg3) {  
                arg0 = LinearLayout.inflate(getApplicationContext(),R.layout.item_gridview, null);  
                ImageView img_picture = (ImageView)arg0.findViewById(R.id.img_picture);  
                LayoutParams para = img_picture.getLayoutParams();  
                para.height = mScteenHeight/3;//一屏幕显示8行  
                para.width = (mScreenWidth-20)/3;//一屏显示两列  
                img_picture.setLayoutParams(para);  
                return arg0;  
            }