在Android中,为什么文本字体和页面屏幕不适合

时间:2014-10-30 04:01:16

标签: android

我正在制作一个Android应用.. 在我的xml文件中,我尝试了以下代码: -

activity_registration

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/blue">
 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
    <TextView
    android:id="@+id/txt22"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Dubai Tour and Travels"
    android:textColor="@color/white"
    android:layout_marginTop="10dp" 
    android:textStyle="bold"
    android:typeface="monospace"
    android:layout_gravity="center"/>
</LinearLayout>
<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
     android:layout_marginTop="40dp" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
         android:layout_margin="10sp" 
         android:background="@color/shadow"
         android:paddingLeft="15dip"
         android:paddingRight="15dip">
<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Name"
    android:textColor="@color/black"
    android:layout_marginTop="10dp" 
    android:textStyle="bold"
    android:typeface="monospace"/>
        <EditText
    android:id="@+id/fieldFirstOpinion"
    android:layout_width="250dp"
    android:layout_height="50dp" 
    android:layout_gravity="center"
    android:minHeight="10sp"
    android:hint="Name"/>
     <TextView
    android:id="@+id/tx2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Email Id"
    android:textColor="@color/black"
    android:layout_marginTop="10dp" 
    android:textStyle="bold"
    android:typeface="monospace"/>
        <EditText
    android:id="@+id/ed2"
     android:layout_width="250dp"
     android:layout_height="50dp" 
      android:layout_gravity="center"
    android:minHeight="10sp"
    android:hint="Email id"/>  
   <TextView
    android:id="@+id/tx3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Mobile Number"
    android:textColor="@color/black"
    android:layout_marginTop="10dp" 
    android:textStyle="bold"
    android:typeface="monospace"/>
       <EditText
    android:id="@+id/ed3"
     android:layout_width="250dp"
     android:layout_height="50dp" 
    android:layout_gravity="center"
    android:minHeight="10sp"
    android:hint="Mobile Number"
    android:inputType="number"/>
<TextView
    android:id="@+id/tx4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Mobile Number"
    android:textColor="@color/black"
    android:layout_marginTop="10dp" 
    android:textStyle="bold"
    android:typeface="monospace"/>
         <Spinner
             android:id="@+id/spinner1"
             android:layout_width="250dp"
             android:layout_height="50dp" 
             android:layout_gravity="center"/>
          <TextView
    android:id="@+id/tx5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Address"
    android:textColor="@color/black"
    android:layout_marginTop="10dp" 
    android:textStyle="bold"
    android:typeface="monospace"/> 
          <EditText
    android:id="@+id/ed4"
     android:layout_width="250dp"
    android:layout_height="50dp" 
    android:layout_gravity="center"
    android:minHeight="10sp"
    android:hint="Address" />
    <Button
    android:id="@+id/button1"
   android:layout_width="100dp"
   android:layout_height="50dp" 
   android:layout_gravity="center"
    android:text="Submit" />    
    </LinearLayout>
</ScrollView>

在这段代码中我得到了我的所有数据。 但我希望字体和样式视图如下: - That example page 在这个页面中textviews,edittext,button,spinner排列得很好。它们的尺寸非常小.. 我怎样才能实现这个目标?

2 个答案:

答案 0 :(得分:1)

在屏幕截图中,他们使用@android:drawable/editbox_background作为EditText's背景。您必须在xml中创建圆角按钮并将其放在drawable文件夹中。 解决方案1:

  • 在项目的drawable文件夹中创建名为res的文件夹。
  • 在名为drawable的文件夹中创建一个xml文件 rounded_corner_btn

rounded_corner_btn xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="@color/yellow" />

    <corners
        android:bottomLeftRadius="24dp"
        android:bottomRightRadius="24dp"
        android:topLeftRadius="24dp"
        android:topRightRadius="24dp" />

</shape>

activity_registration xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/blue" >

        <TextView
            android:id="@+id/txt22"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="10dp"
            android:text="Dubai Tour and Travels"
            android:textColor="@color/white"
            android:textStyle="bold"
            android:typeface="monospace" />

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_marginTop="40dp" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10sp"
            android:background="@color/wallet_highlighted_text_holo_dark"
            android:orientation="vertical"
            android:paddingLeft="15dip"
            android:paddingRight="15dip" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Name"
                android:textColor="@color/black"
                android:textStyle="bold"
                android:typeface="monospace" />

            <EditText
                android:id="@+id/fieldFirstOpinion"
                android:layout_width="250dp"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:hint="Name"
                android:minHeight="10sp"
                android:background="@android:drawable/editbox_background" />

            <TextView
                android:id="@+id/tx2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Email Id"
                android:textColor="@color/black"
                android:textStyle="bold"
                android:typeface="monospace" />

            <EditText
                android:id="@+id/ed2"
                android:layout_width="250dp"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:hint="Email id"
                android:minHeight="10sp"
                android:background="@android:drawable/editbox_background" />

            <TextView
                android:id="@+id/tx3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Mobile Number"
                android:textColor="@color/black"
                android:textStyle="bold"
                android:typeface="monospace" />

            <EditText
                android:id="@+id/ed3"
                android:layout_width="250dp"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:hint="Mobile Number"
                android:inputType="number"
                android:minHeight="10sp"
                android:background="@android:drawable/editbox_background" />

            <TextView
                android:id="@+id/tx4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Mobile Number"
                android:textColor="@color/black"
                android:textStyle="bold"
                android:typeface="monospace" />

            <Spinner
                android:id="@+id/spinner1"
                android:layout_width="250dp"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:background="@android:drawable/btn_dropdown" />

            <TextView
                android:id="@+id/tx5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Address"
                android:textColor="@color/black"
                android:textStyle="bold"
                android:typeface="monospace" />

            <EditText
                android:id="@+id/ed4"
                android:layout_width="250dp"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:hint="Address"
                android:minHeight="10sp"
                android:background="@android:drawable/editbox_background" />

            <Button
                android:id="@+id/button1"
                android:layout_width="120dp"
                android:layout_height="50dp"
                android:layout_gravity="center"
                android:text="Submit"
                android:textColor="@color/black_overlay"
                android:background="@drawable/rounded_corner_btn" />
        </LinearLayout>
    </ScrollView>
</RelativeLayout>

解决方案2: 创建.png张图片,并使用background

将这些图片设置为EditTextsSpinnerButton的{​​{1}}

对于自定义字体,将字体放在android:background="@drawable/image_name"文件夹中。在代码中这样做

asset

You can take a look at this tutorial for setting up custom font

enter image description here

答案 1 :(得分:0)

首先尝试不设置静态高度和宽度。使用带有一些边距的wrap_content或match_parent(Android有很多屏幕尺寸,在某些设备上你的视图看起来很奇怪)。

在视图中为背景(http://developer.android.com/tools/help/draw9patch.html)创建9.patch文件。使用选择器作为按钮。

使用EditTexts等形状(https://stackoverflow.com/a/3264140/3864698

自定义您的微调器(http://mrbool.com/how-to-customize-spinner-in-android/28286