当我创建一个按钮时,它在不同的手机中变得不同,为什么......?

时间:2016-06-16 11:17:22

标签: android button android-linearlayout android-relativelayout

当我正在创建按钮时,我是Android的新手,它会变成不同手机的变化,请帮助我。

<LinearLayout android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_gravity="center_horizontal">
        <Button
            android:layout_width="wrap_content"
            android:gravity="center"
            android:width="300sp"
            android:layout_height="wrap_content"
            android:text="chennai to coimbatore"/>
    </RelativeLayout>
</LinearLayout>

4 个答案:

答案 0 :(得分:0)

您正在使用与设备无关的sp单元BUT是根据用户的字体大小首选项缩放的

只需使用dp代替

答案 1 :(得分:0)

不同的手机具有不同的密度,因此您可以像按密度

那样按下小介质

答案 2 :(得分:0)

构建您的按钮,如下所示。删除android:width="300sp",不需要:

<LinearLayout android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_gravity="center_horizontal">
        <Button         
          android:layout_width="300dp"
          android:gravity="center"
          android:layout_height="wrap_content"
          android:text="chennai to coimbatore"/>
    </RelativeLayout>
</LinearLayout>

答案 3 :(得分:0)

使用dp代替sp。 根据文件 (https://developer.android.com/guide/practices/screens_support.html) “你应该更喜欢sp(与比例无关的像素)来定义文本大小.sp比例因子取决于用户设置,系统可以缩放”