3

テーブルを表示するシンプルなアプリがあり、その下に、テーブルでクリックされた行に応じて画像が変化するイメージビューが表示されます。エミュレーターでは正常に動作し、表示されますが、テスト電話にインストールすると表示されません。私のコードはここにあります:

package com.coreservlets.widgets;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TableRow;
import com.welly.keychords.R;

public class keya extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.keya);
    }

    public void rowClick(View view) {
        ImageView imagev = (ImageView) findViewById(R.id.imageView1);
        switch(view.getId()) {
        case R.id.one:
           imagev.setImageResource(R.drawable.achord);
            break;
        case R.id.two:
            imagev.setImageResource(R.drawable.bminor);
             break;
        case R.id.three:
            imagev.setImageResource(R.drawable.csharpdbminor);
             break;
        case R.id.four:
            imagev.setImageResource(R.drawable.dchord);
             break;
        case R.id.five:
            imagev.setImageResource(R.drawable.echord);
             break;
        case R.id.six:
            imagev.setImageResource(R.drawable.fsharpgbminor);
             break;
        case R.id.seven:
            imagev.setImageResource(R.drawable.gsharpdim);
             break;
        }
    }
}

私のxmlコードはここにあります:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FF909090"
    android:stretchColumns="1" >

    <TableRow
    android:id="@+id/one"
    android:onClick="rowClick">

        <TextView
            android:layout_margin="2dip"
            android:layout_marginRight="2dip"
            android:background="#0000ff"
            android:padding="3dip"
            android:text="I" />

        <TextView
            android:layout_margin="2dip"
            android:layout_marginLeft="1dip"
            android:background="#0000ff"
            android:gravity="center"
            android:padding="3dip"
            android:text="A"
           />
    </TableRow>

    <TableRow
        android:id="@+id/two"
    android:onClick="rowClick">

        <TextView
            android:layout_column="0"
            android:layout_margin="2dip"
            android:background="#0000ff"
            android:padding="3dip"
            android:text="II" />

        <TextView
            android:layout_margin="2dip"
            android:background="#0000ff"
            android:gravity="center"
            android:padding="3dip"
            android:text="Bm" />
    </TableRow>

    <TableRow
        android:id="@+id/three"
    android:onClick="rowClick">

        <TextView
            android:layout_column="0"
            android:layout_margin="2dip"
            android:background="#0000ff"
            android:padding="3dip"
            android:text="III" />

        <TextView
            android:layout_margin="2dip"
            android:background="#0000ff"
            android:gravity="center"
            android:padding="3dip"
            android:text="C#m" />
    </TableRow>

    <View
        android:layout_height="2dip"
        android:background="#FF909090" />

    <TableRow android:background="#0000ff" >
    </TableRow>

    <TableRow
        android:id="@+id/four"
    android:onClick="rowClick">

        <TextView
            android:layout_margin="2dip"
            android:background="#0000ff"
            android:padding="3dip"
            android:text="IV" />

        <TextView
            android:layout_margin="2dip"
            android:background="#0000ff"
            android:gravity="center"
            android:padding="3dip"
            android:text="D" />
    </TableRow>

    <View
        android:layout_height="2dip"
        android:background="#FF909090" />

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </TableRow>

    <TableRow
        android:id="@+id/five"
    android:onClick="rowClick">

        <TextView
            android:layout_margin="2dip"
            android:layout_marginRight="2dip"
            android:background="#0000ff"
            android:padding="3dip"
            android:text="V" />

        <TextView
            android:layout_margin="2dip"
            android:layout_marginLeft="1dip"
            android:background="#0000ff"
            android:gravity="center"
            android:padding="3dip"
            android:text="E" />
    </TableRow>

    <TableRow
        android:id="@+id/six"
    android:onClick="rowClick">

        <TextView
            android:layout_margin="2dip"
            android:layout_marginRight="2dip"
            android:background="#0000ff"
            android:padding="3dip"
            android:text="VI" />

        <TextView
            android:layout_margin="2dip"
            android:layout_marginLeft="1dip"
            android:background="#0000ff"
            android:gravity="center"
            android:padding="3dip"
            android:text="F#m" />
    </TableRow>

    <TableRow
        android:id="@+id/seven"
    android:onClick="rowClick">

        <TextView
            android:layout_margin="2dip"
            android:layout_marginRight="2dip"
            android:background="#0000ff"
            android:padding="3dip"
            android:text="VII" />

        <TextView
            android:layout_margin="2dip"
            android:layout_marginLeft="1dip"
            android:background="#0000ff"
            android:gravity="center"
            android:padding="3dip"
            android:text="G#dim" />
    </TableRow>





    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="114dp"
        android:background="#000000"
        android:maxLines="10"
        android:text="The relative minor of the Major key of A is F#m. The 12 bar blues progression in A is: \n A | A | A | A | D | D | A | A | E | D | A | E" />





    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:background="#ffffff" />

</TableLayout>

imageview のコードは、xml レイアウトの一番下にあります。これをデバッグする方法について何か助けはありますか?

4

5 に答える 5

1

iveは画像をpng形式に変更し、50%小さくすることで問題を解決しました。なぜそれが機能するのかわかりませんが、機能します!

于 2012-11-02T12:30:37.573 に答える
1

他にも問題が発生する可能性があることを考えると、これは単なる推測です。適切なリソース フォルダーにドローアブルがありますか? drawable-mdpiまたはdrawable-ldpiエミュレータに対応するフォルダに画像がありdrawable-hdpi、デバイスに対応する画像がない可能性があります。

テストするには、drawable(修飾子なしで) フォルダーを作成し、すべてのドローアブル ファイルをそのフォルダーにコピーして、ImageView.

アップデート:

UI 要素のプロパティを確認するには、 hierarchyviewerを使用します。

于 2012-11-02T07:39:28.623 に答える
0

画像ビューが表示されないだけですか? 切れそうですか?android:weight="1.0" またはイメージビューに必要な数値を設定するか、全体をスクロールビューに配置してみてください。それがカットオフされている場合、それは問題を解決します。

また別の提案...

テーブル レイアウト全体を線形レイアウト内にラップしてみて、最後にテキスト ビューと画像ビューを引き出します。100% 確実ではありませんが、テーブル レイアウト内にテーブル行のみを含めることになっていると思いますが、エミュレータで動作しているため、よくわかりません。

-編集-

これを試してください(テキストビューとイメージビューをテーブル行に入れます)...うまくいくかもしれません。

<TableRow>
 <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="114dp"
        android:background="#000000"
        android:maxLines="10"
        android:text="The relative minor of the Major key of A is F#m. The 12 bar blues progression in A is: \n A | A | A | A | D | D | A | A | E | D | A | E" />
</TableRow>

<TableRow>
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:background="#ffffff" />
</TableRow>
于 2012-11-02T07:32:42.643 に答える
0

スクロールビューには、xml 内のすべてのビュー (レイアウト自体を除く) が含まれます。携帯電話の画面の高さが大きすぎない可能性があります。

于 2012-11-02T07:33:50.907 に答える
0

少し古いかもしれませんが、このスレッドはまだ私を助けてくれました。私も同じ問題を抱えていました。エミュレーターでは、私の画像である JPG が完全に表示されていました。しかし、私の電話では画像が表示されませんでした。

ImageView に背景色を設定すると、携帯電話に色が表示されましたが、画像は表示されませんでした。

次に、画像を約 2000px 幅から 1000px 幅に縮小しました。そして出来上がり..画像が表示されました。

最大の画像解像度があるようです。

于 2014-09-24T13:12:50.047 に答える