私はずっと長い間問題を取り組んできました。 ImageButtonにイメージをドロップすると、ボタンが非常に大きくなります。これを修正するために、TableLayoutにweightSumがあり、行にそれぞれ独自のlayout_weightがあるTableRayoutを作成しました。しかし、私は行を割り当てるどのくらいの重量に関係なく、イメージが爆発し、他のすべての行を圧縮します。言い換えれば、TableRowはそれらに割り当てられたlayout_weightを尊重しません。Androidスタジオ - 画像拡大ボタン(およびウェイトルールを解除しますか?)
以下、私はそれぞれ4,5,3,1の4つの行を持っています。 ImageButtonはlayout_weight = "3"の3行目にあります。しかし、わかるように、行はボタンイメージに合わせて展開されます。いずれにしても
私は、画面上に複数のボタンがある場合、これは大きな問題です。私はそれらを大きくすると考えている同じ正確なサイズの多くのボタンを作成したので、より大きなデバイスでうまくスケールされます。もう一度、問題は、ボタンの内側に収まるように縮小していないが、ボタンを展開して、プロセスのlayout_weightsをすべて破棄することです。
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="13"
android:background="@drawable/edit_users_view">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="4"/>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="5">
<ScrollView>
<!-- Figure out button first -->
</ScrollView>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="3">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/selector_cancel_button"/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
</TableRow>
</TableLayout>
さらに、この問題は、イメージの保存方法の一部である可能性があります。私は全てを私のドロウアブルフォルダに保存しましたが、ミップマップフォルダの中には何も保存しませんでした。しかし、このキャンセルボタンをmipmap-mdpiフォルダに保存してImageButtonにロードしようとしましたが、効果はまったく同じでした。ミップマップフォルダはおそらくサイズではなく解像度を設定しますか?おそらく50個の画像/セレクタが内部にあるので、私はドロウアブルフォルダを展開しませんでした。あなたのImageButtonのための特定の濃度画素を設定し
私は実際には1つのドロウアブルフォルダしか持っていません - 私はdrawable-xxhdpi(と他のもの)を作成しなければならないと思います。しかし、もちろん、画像に読み込もうとしたときに電話機がクラッシュするという問題もありました。 このような感じです - 画面が小さくなればなるほど、画像が大きなファイルを読み込む可能性は低くなりますか?小さなスクリーンでは許されない、より大きな画面密度のためにリソースを確保していますか? – FoxDonut
ええ、resにそのフォルダを作成する必要があります。いくつかの問題のためにアプリがクラッシュする必要があります。小さな画面で大きな画像を使用してもアプリがクラッシュすることはありません。 –
1メガバイト未満の画像には18メガバイトを割り当てようとしています。これは本当に修正が必要なアンドロイドの問題です。 – FoxDonut