公司买了一个android软件,该软件无法实现自适应,主要是图片可以放大或者缩小,但是对应的按钮或者输入框位置会偏移,求高手指点怎么改,可以付部分费用。

解决方案 »

  1.   

    嘿嘿。你们的界面是xml布局的吗。布局不对哦,尽量不要用XXdip来设置控件的大小。和位置,可以多用weight。使用相对布局哦。不要把界面写死。要不在不同的机器上面效果差距很大啊。还有横竖屏幕切换的也会。所以布局要细心。
      

  2.   

    楼上的很对,是用xml布局,给你看部分代码
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:background="@drawable/setconfig" android:layout_height="fill_parent">
    - <RelativeLayout android:background="@drawable/setconfigcontext" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <EditText android:lines="1" android:id="@+id/EmailAddress" android:layout_height="40dip" android:text="" android:layout_width="wrap_content" android:minWidth="200dip" android:layout_alignParentBottom="false" android:layout_marginTop="8dip" android:layout_marginLeft="110dip" /> 
      <EditText android:id="@+id/EmailName" android:layout_below="@id/EmailAddress" android:layout_marginLeft="110dip" android:layout_height="40dip" android:text="" android:layout_width="wrap_content" android:minWidth="200dip" android:layout_marginTop="1dip" /> 
      <EditText android:id="@+id/EmailPasswrd" android:layout_below="@id/EmailName" android:layout_marginLeft="110dip" android:layout_height="40dip" android:text="" android:layout_width="wrap_content" android:minWidth="200dip" android:layout_marginTop="3dip" android:password="true" /> 
      <EditText android:id="@+id/EmailSMTPAddress" android:layout_below="@id/EmailPasswrd" android:layout_marginLeft="110dip" android:layout_height="40dip" android:text="" android:layout_width="wrap_content" android:minWidth="200dip" android:layout_marginTop="3dip" /> 已经使用了相对布局,但是dip很难控制,请问有什么好的办法吗,能给我你qq吗,
      

  3.   

    输入框4个的位置你想在哪里?屏幕最中间么,如果想要在最重要的话,只需要把你的RelativeLayout的android:gravity="center"然后在调节你的相对位置。
      

  4.   

    我们不止有四个框,完整的代码在下面
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:background="@drawable/setconfig" android:layout_height="fill_parent">
    - <RelativeLayout android:background="@drawable/setconfigcontext" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <EditText android:lines="1" android:id="@+id/EmailAddress" android:layout_height="40dip" android:text="" android:layout_width="wrap_content" android:minWidth="200dip" android:layout_alignParentBottom="false" android:layout_marginTop="8dip" android:layout_marginLeft="110dip" /> 
      <EditText android:id="@+id/EmailName" android:layout_below="@id/EmailAddress" android:layout_marginLeft="110dip" android:layout_height="40dip" android:text="" android:layout_width="wrap_content" android:minWidth="200dip" android:layout_marginTop="1dip" /> 
      <EditText android:id="@+id/EmailPasswrd" android:layout_below="@id/EmailName" android:layout_marginLeft="110dip" android:layout_height="40dip" android:text="" android:layout_width="wrap_content" android:minWidth="200dip" android:layout_marginTop="3dip" android:password="true" /> 
      <EditText android:id="@+id/EmailSMTPAddress" android:layout_below="@id/EmailPasswrd" android:layout_marginLeft="110dip" android:layout_height="40dip" android:text="" android:layout_width="wrap_content" android:minWidth="200dip" android:layout_marginTop="3dip" /> 
      <EditText android:id="@+id/POPAddress" android:layout_below="@id/EmailSMTPAddress" android:layout_marginLeft="110dip" android:layout_height="40dip" android:text="" android:layout_width="wrap_content" android:minWidth="200dip" android:layout_marginTop="2dip" /> 
      <RadioButton android:id="@+id/open" android:checked="true" android:layout_below="@id/POPAddress" android:layout_marginLeft="110dip" android:layout_height="30dip" android:text="开" android:layout_width="wrap_content" android:layout_marginTop="2dip" /> 
      <RadioButton android:id="@+id/close" android:checked="false" android:layout_below="@id/POPAddress" android:layout_marginLeft="180dip" android:text="关" android:layout_height="30dip" android:layout_width="wrap_content" android:layout_marginTop="2dip" /> 
      <SeekBar android:layout_height="30dip" android:layout_below="@id/open" android:id="@+id/SeekBar" android:layout_width="wrap_content" android:minWidth="198dip" android:layout_alignLeft="@+id/EmailSMTPAddress" android:layout_marginTop="18dip" /> 
    - <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@id/SeekBar">
      <Button android:background="@drawable/button" android:textColor="@color/white" android:padding="3dip" android:textSize="14dip" android:text="返 回" android:id="@+id/returnParent" android:layout_width="wrap_content" android:layout_height="35dip" android:cursorVisible="true" android:layout_centerVertical="true" android:layout_marginTop="20dip" android:layout_marginLeft="60dip" /> 
      <Button android:background="@drawable/button" android:textColor="@color/white" android:padding="3dip" android:textSize="14dip" android:text="保 存" android:id="@+id/sava" android:layout_width="wrap_content" android:layout_height="35dip" android:cursorVisible="true" android:layout_centerVertical="true" android:layout_toRightOf="@id/returnParent" android:layout_marginLeft="20dip" /> 
      </RelativeLayout>
      </RelativeLayout>
      </LinearLayout>
      

  5.   

    链接为我的图片效果,你可以看一下
    http://hi.csdn.net/space.php?uid=2974074&do=album&id=103385
      

  6.   

    同一行中的控件可以使用android:layout_weight来设置比例宽度~~ 例如两个控件都设置为android:layout_weight="1.0",则两个控件会各占50%空间
      

  7.   

    看了你图片了,你这个布局很简单,只要不用<RelativeLayout android:background="@drawable/setconfigcontext" 这个图片做背景就好了啊,这个界面很简单的布局的。。为什么非要用图片做背景啊。。
      

  8.   

    给你一个我的布局参考一下。。自己修改下把哥们,很简单的。。
    <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <ScrollView
    android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:fillViewport="true" 
        android:background="@drawable/default_bg"
    >
    <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <LinearLayout
    android:layout_marginTop="20.0px"
    android:layout_marginLeft="15.0px"
    android:layout_marginRight="15.0px"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="5dip"
    android:background="@drawable/layoutbg"
    android:gravity="center_vertical">
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#ff3f3f3f"
    android:textSize="16.0dip"
    android:text="姓名:"/>
    <EditText
    android:id="@+id/name"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:layout_weight="1"
    android:layout_marginLeft="5dip"
    android:background="@drawable/edit_text"
    />
    <com.android.contactsmanager.ui.PhotoEditorView
    android:id="@+id/icon"
    android:layout_width="80dip"
        android:layout_height="80dip"
        android:clickable="true"
        android:focusable="true"
        android:src="@drawable/contact_add_icon"
        android:cropToPadding="true"
        android:scaleType="fitCenter"
        android:layout_marginLeft="5dip"
        android:background="@drawable/btn_contact_picture"
        android:gravity="center" />
    </LinearLayout>

    <LinearLayout
    android:layout_marginTop="10.0px"
    android:layout_marginLeft="15.0px"
    android:layout_marginRight="15.0px"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="5dip"
    android:background="@drawable/layoutbg"
    android:gravity="center_vertical">
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#ff3f3f3f"
    android:textSize="16.0dip"
    android:text="号码:"/>
    <EditText
    android:id="@+id/phoneNumber"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:inputType="number"
    android:layout_weight="1"
    android:layout_marginLeft="5dip"
    android:background="@drawable/edit_text"
    />
    </LinearLayout>

    <LinearLayout
    android:layout_marginTop="10.0px"
    android:layout_marginLeft="15.0px"
    android:layout_marginRight="15.0px"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="5dip"
    android:background="@drawable/layoutbg"
    android:gravity="center_vertical">
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#ff3f3f3f"
    android:textSize="16.0dip"
    android:text="所属组:"/>
    <Spinner
    android:id="@+id/spinner_group"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:layout_marginLeft="5dip"
    android:drawingCacheQuality="auto"
    android:prompt="@string/spinner_group"
    />
    </LinearLayout>

    <LinearLayout
    android:layout_marginTop="10.0px"
    android:layout_marginLeft="15.0px"
    android:layout_marginRight="15.0px"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="5dip"
    android:background="@drawable/layoutbg"
    android:gravity="center_vertical">
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#ff3f3f3f"
    android:textSize="16.0dip"
    android:text="生日:"/>
    <Button
    android:id="@+id/birthdayButtonPicker"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:layout_marginLeft="5dip"
    android:text="birthday"
    android:textColor="#ff3f3f3f"
    android:textSize="16.0dip"/>
    </LinearLayout>

    <LinearLayout
    android:layout_marginTop="10.0px"
    android:layout_marginLeft="15.0px"
    android:layout_marginRight="15.0px"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="5dip"
    android:background="@drawable/layoutbg"
    android:gravity="center_vertical">
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#ff3f3f3f"
    android:textSize="16.0dip"
    android:text="住址:"/>
    <EditText
    android:id="@+id/address"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:singleLine="true"
    android:layout_marginLeft="5dip"
    android:background="@drawable/edit_text"
    />
    </LinearLayout>

    <LinearLayout
    android:layout_marginTop="10.0px"
    android:layout_marginLeft="15.0px"
    android:layout_marginRight="15.0px"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="5dip"
    android:background="@drawable/layoutbg"
    android:gravity="center_vertical">
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#ff3f3f3f"
    android:textSize="16.0dip"
    android:text="邮箱:"/>
    <EditText
    android:id="@+id/email"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:singleLine="true"
    android:layout_marginLeft="5dip"
    android:background="@drawable/edit_text"
    />
    </LinearLayout>

    <LinearLayout
    android:layout_marginTop="10.0px"
    android:layout_marginLeft="15.0px"
    android:layout_marginRight="15.0px"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="10dip"
    android:background="@drawable/layoutbg"
    android:gravity="center_horizontal">
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dip"
    android:textColor="#ff3f3f3f"
    android:textSize="16.0dip"
    android:text="好友描述:"/>
    <EditText
    android:id="@+id/information"
    android:layout_width="fill_parent"
    android:layout_height="150dip"
    android:layout_weight="1"
    android:gravity="left|top"
    android:layout_marginTop="10dip"
    android:singleLine="false"
      android:maxLines="5"
      android:background="@drawable/edit_text"
    />
    </LinearLayout>

    </LinearLayout>
    </ScrollView>
    <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:background="@drawable/bottom"
            android:gravity="center_vertical"
            android:padding="5dip"
        >        <Button android:id="@+id/btn_ok"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="确定"
            />        <Button android:id="@+id/btn_cancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="取消"
            />    </LinearLayout>
    </LinearLayout>
      

  9.   

    @drawable/layoutbg<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <gradient 
            android:startColor="#FFEFF3EF" 
            android:endColor="#80D6DBD6"
            android:angle="45"/>
        <padding android:left="7dp" 
            android:top="7dp"
            android:right="7dp" 
            android:bottom="7dp" />
        <corners android:radius="10dp" />
    </shape>