使视图/文本适合不同Android设备上的屏幕

时间:2014-11-27 13:08:41

标签: android android-layout

enter image description here

我正在尝试制作24小时侧边栏菜单。但并非所有数字都适合每个屏幕。有没有人知道我解决这个问题的好方法所以所有的数字显示

以下是我现在正在做的一些代码。

单项

    <?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/car_history_sidemenu_item"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:gravity="center"
          android:padding="3dp"

          android:textSize="14sp" />

布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" >

    <RelativeLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical"
      android:layout_alignParentBottom="true">
          <RelativeLayout
            android:id="@+id/car_history_map_content"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_toStartOf="@+id/history_side_index"
            android:layout_toLeftOf="@+id/history_side_index"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentBottom="true">
          </RelativeLayout>

        <LinearLayout
            android:id="@+id/history_side_index"
            android:background="#c3c3c3"
            android:orientation="vertical"

            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:padding="3dp"
            android:textSize="14sp"


            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentTop="true">
        </LinearLayout>
    </RelativeLayout>
</RelativeLayout>

代码

  protected void setupFastScrollList()
  {
    LinearLayout linearLayout;
    linearLayout = (LinearLayout) findViewById(R.id.history_side_index);

    TextView textView;

    for(int i = 0; i < 24; i++)
    {
      textView = (TextView) getLayoutInflater().inflate(R.layout.car_history_sidemenu_item,null);
      textView.setText("" + i);
      linearLayout.addView(textView);
    }
  }

我是否必须在运行时扩展所有内容,或者XML是否有一种智能方法可以自动扩展数字以适应每个设备屏幕。

1 个答案:

答案 0 :(得分:0)

请阅读Google关于支持多个屏幕的文章。

稳定链接:http://developer.android.com/guide/practices/screens_support.html