0

私はアプリケーションを開発していますが、画像ボタンを適切に割り当てようとしていますが、画面に応じて変化します。低密度、高密度、中密度の画像を低高および中密度の描画可能なフォルダに追加しました。

これが私のコードとスクリーンショットです。

<?xml version="1.0" encoding="utf-8"?>
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"    
android:id="@+id/ScrollView01" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content">    
  <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1" 
    android:gravity="center"
    android:paddingLeft="20dip" 
    android:paddingRight="20dip" >

<TableRow>       
<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
  <ImageButton 
       android:id="@+id/aboutus"
       android:scaleType="fitCenter"
       android:src="@drawable/aboutus"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="2dp"
       android:background="@android:color/transparent"
       />
    <TextView
    android:text="About Us"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" 
    android:textColor="#ffffff" />
</LinearLayout>
   <LinearLayout 
   android:orientation="vertical" 
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
   <ImageButton
       android:id="@+id/services"         
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:background="@android:color/transparent"
       android:padding="2dp"
       android:src="@drawable/services123" />
    <TextView
    android:text="Services"
     android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" android:textColor="#ffffff" />
    </LinearLayout>
  </TableRow>    
    <TableRow>
        <LinearLayout android:orientation="vertical" android:layout_width="fill_parent"
       android:layout_height="fill_parent">
    <ImageButton 
       android:id="@+id/courses"           
       android:src="@drawable/services"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="2dp"
       android:background="@android:color/transparent"
       />
    <TextView
    android:text="Courses"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" android:textColor="#ffffff" />
</LinearLayout>
   <LinearLayout 
   android:orientation="vertical" 
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">     
    <ImageButton 
       android:id="@+id/contactus"
       android:src="@drawable/services"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="2dp"
       android:background="@android:color/transparent"
       />
       <TextView
    android:text="contact us"
     android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" android:textColor="#ffffff" />
   </LinearLayout>
 </TableRow>
      <TableRow>
         <LinearLayout android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
    <ImageButton 
       android:id="@+id/syllabus"
       android:src="@drawable/services"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="2dp"
       android:background="@android:color/transparent"
       />
    <TextView
    android:text="Syllabus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" 
    android:textColor="#ffffff" />
</LinearLayout>
   <LinearLayout 
   android:orientation="vertical" 
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">          
    <ImageButton 
       android:id="@+id/pingtoupdates"
       android:src="@drawable/services"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="2dp"
       android:background="@android:color/transparent"
       />
    <TextView
    android:text="Ping To Updates"
     android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="3dip" android:textColor="#ffffff" />
    </LinearLayout>
  </TableRow>
 </TableLayout>

ここに画像の説明を入力してください

4

2 に答える 2

1

1つのテーブル行アイテムから別のテーブル行アイテムへのlayout_widthとheightには2つのバリエーションがあります。一部のLinearLayoutでは、fill_parent、fill_parentを使用し、一部のwrap_contentではwrap_contentを使用しました。まず、各行アイテムは同じディメンションである必要があるという要件があるため、これを修正する必要があります。
あなたの場合、より良いアプローチはGridViewを使用することです。行アイテム用に1つのレイアウトファイル(XML)を作成するだけで、これをすべての行アイテムに使用できます。
グリッドアイテムのサンプルコードは次のとおりです。

 <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
        <ImageButton 
           android:id="@+id/aboutus"
           android:src="@drawable/aboutus"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:padding="2dp"
           android:background="@android:color/transparent"/>
        <TextView
           android:text="About Us"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:gravity="right"
           android:padding="3dip" 
           android:textColor="#ffffff" />
</LinearLayout>

GridViewを初めて使用する場合は、このリンクをたどってください

これが完了したら、複数のデバイスのサポートを試す必要があります。複数のデバイスをサポートする
には、このリンクをたどることができます。

このstackoverflowの投稿もご覧ください。

于 2012-08-31T16:32:20.447 に答える
1

そこにレイアウトを修正し、サイズに関係なくグリッド内の各画像のサイズを指定できるので、 GridViewを使用するのが最善だと思います。

このサンプルチュートリアルを確認してください。

さらにサンプルコードが必要な場合は、GridViewで別の優れたチュートリアルをここで見つけることができます。これは、グリッドからのアイテム選択の処理方法、つまりグリッド上の任意の画像をクリックしたときに何が起こるかを説明しています。

お役に立てれば!

于 2012-08-31T16:07:46.273 に答える