如何设计响应式图像按钮&使用android studio进行布局?

时间:2016-01-11 11:26:34

标签: android-layout

我是Android开发新手。我设计了一个停车应用程序,但布局不响应所有移动设备。 我尝试使用9patch png图像制作响应式图像按钮。通过采取不同的drawable文件夹(hdpi,mdpi,xhdpi)。但两者都不适用于大屏幕设备。

这是一个示例xml文件:

<?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"
    android:background="@drawable/background"
    >
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/exit"
        android:layout_gravity="center_vertical"
        android:background="@android:color/transparent"
        android:src="@drawable/exit1"
        android:onClick="on_Bexit"
        android:layout_alignTop="@+id/home0"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/home0"
        android:layout_gravity="center_vertical"
        android:background="@android:color/transparent"
        android:src="@drawable/home1"
        android:onClick="on_Bhome0"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/car"
        android:layout_gravity="center_vertical"
        android:background="@android:color/transparent"
        android:src="@drawable/c4"
        android:onClick="on_Bcar"
        android:cropToPadding="true"
        android:nestedScrollingEnabled="true"
        android:layout_alignBottom="@+id/textView5"
        android:layout_alignLeft="@+id/bike"
        android:layout_alignStart="@+id/bike" />
    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/bike"
        android:layout_gravity="center_vertical"
        android:src="@drawable/b3"
        android:background="@android:color/transparent"
        android:onClick="on_Bbike"
        android:layout_above="@+id/exit"
        android:layout_centerHorizontal="true" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="ENTRY   "
        android:id="@+id/textView"
        android:textColor="#8dacbe"
        android:textStyle="bold"
        android:textSize="35dp"
        android:layout_above="@+id/car"
        android:layout_toLeftOf="@+id/textView6"
        android:layout_toStartOf="@+id/textView6" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/bike_count"
        android:text="90"
        android:textColor="#140441"
        android:textSize="30dp"
        android:textStyle="bold|italic"
        android:layout_alignBottom="@+id/bike"
        android:layout_toLeftOf="@+id/exit"
        android:layout_toStartOf="@+id/exit"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/car_count"
        android:text="120"
        android:textStyle="bold|italic"
        android:textColor="#140441"
        android:textSize="30dp"
        android:layout_alignBottom="@+id/car"
        android:layout_alignRight="@+id/bike_count"
        android:layout_alignEnd="@+id/bike_count" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Large Text"
        android:id="@+id/textView5"
        android:visibility="invisible"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/T_areadis"
        android:hint="Parking area id and name"
        android:textColor="#8dacbe"
        android:text="kharghar"
        android:textSize="30dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="PAGE"
        android:id="@+id/textView6"
        android:textColor="#005384"
        android:textSize="40dp"
        android:textAlignment="center"
        android:fontFamily="@string/abc_action_bar_home_description"
        android:textStyle="bold"
        android:layout_alignTop="@+id/textView"
        android:layout_toRightOf="@+id/car_count"
        android:layout_toEndOf="@+id/car_count" />
</RelativeLayout>

请帮助我。

1 个答案:

答案 0 :(得分:0)

  1. 大屏幕设备使用xxhdpi。

  2. 如何宽度

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical">
    
        <ImageButton
            android:id="@+id/exit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scaleType="fitCenter"
            android:layout_gravity="center_vertical"
            android:background="@android:color/transparent"
            android:onClick="on_Bexit"
            android:src="@drawable/icon_login" />
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="ENTRY   "
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="#8dacbe"
            android:textSize="35dp"
            android:textStyle="bold" />
    </LinearLayout>
    
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical">
    
        <ImageButton
            android:id="@+id/home0"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scaleType="fitCenter"
            android:layout_gravity="center_vertical"
            android:background="@android:color/transparent"
            android:onClick="on_Bhome0"
            android:src="@drawable/icon_login" />
    
        <TextView
            android:id="@+id/bike_count"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="90"
            android:textColor="#140441"
            android:textSize="30dp"
            android:textStyle="bold|italic" />
    </LinearLayout>
    
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical">
    
        <ImageButton
            android:id="@+id/car"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scaleType="fitCenter"
            android:layout_gravity="center_vertical"
            android:background="@android:color/transparent"
            android:onClick="on_Bcar"
            android:src="@drawable/icon_login" />
    
        <TextView
            android:id="@+id/car_count"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="120"
            android:textColor="#140441"
            android:textSize="30dp"
            android:textStyle="bold|italic" />
    </LinearLayout>
    
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical">
    
        <ImageButton
            android:id="@+id/bike"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scaleType="fitCenter"
            android:layout_gravity="center_vertical"
            android:background="@android:color/transparent"
            android:onClick="on_Bbike"
            android:src="@drawable/icon_login" />
        <TextView
            android:id="@+id/T_areadis"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="Parking area id and name"
            android:text="kharghar"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#8dacbe"
            android:textSize="30dp" />
    </LinearLayout>