如何在Android(基于表格布局)中创建宽度与屏幕宽度成比例的对话框(例如60%)?以下代码占据了屏幕的所有宽度。
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"/>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="#FFF"
android:layout_margin="5dp"/>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/dialogButtonOK"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Ok"
android:gravity="center"
android:layout_below="@+id/text"
android:layout_span="2"/>
</TableRow>
</TableLayout>
答案 0 :(得分:0)
据我所知,这是不可能的,但也许这可行;在您的活动中尝试访问您的xml布局 - TableLayout tl =(TableLayout)findViewById(...)并尝试获取您的设备屏幕宽度
Display display = getWindowManager().getDefaultDisplay();
int width=display.getWidth();
然后通过
基于该宽度设置一些值rl.setLayoutParams(new LayoutParams(width*0.7,LayoutParams.WRAP_CONTENT(or something else) ));