我有一个垂直的LinearLayout,其中有一个按钮。我想将此按钮设置为LinearLayout宽度的70%并使其居中。
我在设置render
为0时尝试将export default class IndexPage extends React.Component {
constructor(){
super();
this.state = {
jsonReturnedValue: null
}
}
componentDidMount() {
this.jsonList();
}
jsonList() {
fetch('https://localhost:3000/api/aye')
.then(function(response) {
this.setState({
jsonReturnedValue: response.json()
})
})
}
render() {
return (
<div>
<h1>{this.state.jsonReturnedValue}</h1>
</div>
);
}
}
设置为0.7,但由于它是垂直的LinearLayout,因此不会影响宽度,但可以只会影响身高。
如何在垂直布局中更改宽度的重量?我是否必须为按钮添加嵌套水平LinearLayout,以便我可以设置它的重量?
答案 0 :(得分:2)
尝试使用新的PercentRelativeLayout,您可以在没有嵌套布局的情况下实现您的目标。
在您的依赖项中包含此内容:com.android.support:percent:25.1.0
然后在你的代码中
<android.support.percent.PercentRelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
...
<Button
app:layout_widthPercent="70%"
android:layout_height="wrap_content"/>
...
</android.support.percent.PercentRelativeLayout>
答案 1 :(得分:0)
linearLayout -> orientation = horizontal
button -> layout width = 0dp
-> layout height = wrap_content
-> layout weight = 1
答案 2 :(得分: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:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.7"
android:gravity="center"
android:orientation="vertical">
<Button
android:id="@+id/yourRequiredButton"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<Button
android:id="@+id/container"
android:layout_weight="0.3"
android:layout_width="match_parent"
android:layout_height="0dp" />
</LinearLayout>
答案 3 :(得分:0)
试试这个:
<LinearLayout>
<Space android:layout_weight=0.15/>
<Button android:layout_weight=0.7/>
<Space android:layout_weight=0.15/>
</LinearLayout>
https://developer.android.com/reference/android/widget/Space.html
我还建议您将值放在dimens.xml
文件中。