因此,我试图在左下角制作一个带有ImageButton
的自定义键盘,但是图像拒绝缩小,就像我使用wrap_content
一样。 wrap_content
属性从不使用。Android,防止ImageButton拉伸TableLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bgColor"
android:weightSum="100">
<LinearLayout
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="0dip"
android:id="@+id/linearLayout1"
android:background="@color/orange"
android:layout_weight="10" />
<LinearLayout
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="0dip"
android:id="@+id/linearLayout2"
android:layout_weight="80"
android:weightSum="100">
<LinearLayout
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="40"
android:id="@+id/linearLayout4"
android:weightSum="100">
<LinearLayout
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/linearLayout6"
android:layout_weight="15" />
<LinearLayout
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/linearLayout7"
android:layout_weight="70"
android:weightSum="100">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/linearLayout9"
android:layout_weight="45"
android:weightSum="100">
<ImageView
android:src="@drawable/eurcurrency"
android:layout_width="0dp"
android:layout_height="match_parent"
android:id="@+id/imageView1"
android:layout_weight="30"
android:scaleType="fitEnd"
android:paddingRight="10dp"
android:paddingTop="5dp"
android:paddingBottom="5dp" />
<TextView
android:text="0"
android:layout_width="0dp"
android:layout_height="match_parent"
android:id="@+id/textView10"
android:layout_weight="70"
android:paddingRight="5dp"
android:paddingLeft="5dp"
android:textColor="@android:color/black"
android:gravity="center_vertical"
android:textSize="30sp" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/linearLayout10"
android:layout_weight="10" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/linearLayout9"
android:layout_weight="45"
android:weightSum="100">
<ImageView
android:src="@drawable/btccurrency"
android:layout_width="0dp"
android:layout_height="match_parent"
android:id="@+id/imageView1"
android:layout_weight="30"
android:scaleType="fitEnd"
android:paddingRight="10dp"
android:paddingTop="5dp"
android:paddingBottom="5dp" />
<TextView
android:text="0"
android:layout_width="0dp"
android:layout_height="match_parent"
android:id="@+id/textView10"
android:layout_weight="70"
android:paddingRight="5dp"
android:paddingLeft="5dp"
android:textColor="@android:color/black"
android:gravity="center_vertical"
android:textSize="30sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:id="@+id/linearLayout8"
android:layout_height="0dp"
android:layout_weight="15" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:id="@+id/linearLayout5"
android:layout_weight="60"
android:weightSum="100"
android:minWidth="25px"
android:minHeight="25px"
android:background="@color/orange">
<TableLayout
android:id="@+id/tableLayout1"
android:style="@style/CalculatorTable"
android:minWidth="25px"
android:minHeight="25px">
<TableRow
android:id="@+id/tableRow1"
android:style="@style/CalculatorRow">
<Button
android:text="1"
android:layout_column="0"
android:id="@+id/button2"
android:style="@style/CalculatorButton" />
<Button
android:text="2"
android:layout_column="1"
android:id="@+id/button6"
android:style="@style/CalculatorButton" />
<Button
android:text="3"
android:layout_column="2"
android:id="@+id/button3"
android:style="@style/CalculatorButton" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:style="@style/CalculatorRow">
<Button
android:text="4"
android:layout_column="0"
android:id="@+id/button4"
android:style="@style/CalculatorButton" />
<Button
android:text="5"
android:layout_column="1"
android:id="@+id/button7"
android:style="@style/CalculatorButton" />
<Button
android:text="6"
android:layout_column="2"
android:id="@+id/button5"
android:style="@style/CalculatorButton" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:style="@style/CalculatorRow">
<Button
android:text="7"
android:layout_column="0"
android:id="@+id/button8"
android:style="@style/CalculatorButton" />
<Button
android:text="8"
android:layout_column="1"
android:id="@+id/button9"
android:style="@style/CalculatorButton" />
<Button
android:text="9"
android:layout_column="2"
android:id="@+id/button10"
android:style="@style/CalculatorButton" />
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:style="@style/CalculatorRow"
android:orientation="horizontal">
<Button
android:text="00"
android:layout_column="0"
android:id="@+id/button11"
android:style="@style/CalculatorButton" />
<Button
android:text="0"
android:layout_column="1"
android:id="@+id/button12"
android:style="@style/CalculatorButton" />
<ImageButton
android:layout_column="2"
android:id="@+id/imageButton1"
android:style="@style/CalculatorButton"
android:src="@drawable/bitcoineuroswap"
android:scaleType="fitCenter" />
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:id="@+id/linearLayout3"
android:background="@color/orange"
android:layout_weight="10" />
</LinearLayout>
我的风格:
<resources>
<style name="CalculatorButton" >
<item name="android:layout_width" >0dp</item>
<item name="android:layout_weight" >33</item>
<item name="android:layout_height" >fill_parent</item>
<item name="android:background">@drawable/CalculatorButtonBackground</item>
</style>
<style name ="CalculatorRow">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_weight">25</item>
<item name="android:layout_height">0dip</item>
<item name="android:weightSum">99</item>
<item name="android:gravity">fill_vertical</item>
<item name="android:divider">@drawable/CalculatorDivider</item>
<item name="android:dividerPadding">0dp</item>
<item name="android:showDividers">middle</item>
</style>
<style name ="CalculatorTable">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="android:weightSum">100</item>
<item name="android:divider">@drawable/CalculatorDivider</item>
<item name="android:dividerPadding">0dp</item>
<item name="android:showDividers">middle</item>
<item name="android:background">@drawable/CalculatorTableBackground</item>
<item name="android:layout_margin">1dp</item>
</style>
</resources>
输出(I想要的东西 - 在左边,我已经得到了 - 在右侧):
我真的不认为,移动到LinearLayout将有所帮助。我认为'ImageButton'本身存在问题。是的,我试图把它放在另一个布局(如Row-> LinearLayout-> ImageButton) – user7803907
尝试我编辑的答案 – Divya