因此,我試圖在左下角製作一個帶有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