我创建了一个布局,在textview的两侧都有一个按钮。这是我到目前为止所得到的:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/grid_matrix_table_border_color"
android:orientation="horizontal">
<Button
android:id="@+id/btn1"
android:tag="0"
android:drawableTop="@drawable/filter_ic"
android:layout_width="25dp"
android:layout_height="50dp"
android:layout_marginRight="2dp"
android:layout_marginLeft="10dp"
android:gravity="center"/>
<com.ui.widget.TextView
android:id="@+id/txtview"
android:gravity="center"
android:layout_width="wrap_content"
android:singleLine="true"
android:scrollHorizontally="true"
android:layout_height="fill_parent"
android:layout_marginRight="6dp"
android:layout_weight="0.36"
android:focusable="true"
/>
<Button
android:id="@+id/btn2"
android:tag="ASC"
android:drawableTop="@drawable/sort_ic"
android:layout_width="25dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_gravity="right"
android:layout_marginRight="4dp"
android:background="@color/grid_matrix_table_border_color"/>
</LinearLayout>
</LinearLayout>
视图如下:
Button1 ----- Textview ----- Button2
但是当我隐藏button1并替换onClick上的另一个drawable时,图像比之前的按钮更大。我也在drawables中插入了正确的分辨率图像。以下是代码
final Button btn1 = (Button) container.findViewById(R.id.btn1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
btn1.setBackgroundResource(R.drawable.btn_grey);
}
});
答案 0 :(得分:1)
我已经通过将LinearLayout设置为相对布局解决了我的可绘制图像缩放问题,并且如果有按钮的图像,最好采用ImageButton而不是Button。
答案 1 :(得分:0)
这是你怎么做的
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btn1"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="2dp"
android:layout_weight="2"
android:gravity="center"
android:tag="0" />
<com.ui.widget.TextView
android:id="@+id/txtview"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_marginRight="6dp"
android:layout_weight="3"
android:focusable="true"
android:gravity="center"
android:scrollHorizontally="true"
android:singleLine="true" />
<Button
android:id="@+id/btn2"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_gravity="right"
android:layout_marginRight="4dp"
android:layout_weight="2"
android:tag="ASC" />
</LinearLayout>
</LinearLayout>
只需调整权重即可获得所需的按钮和文本框大小